You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2014/11/09 13:55:34 UTC
[jira] [Reopened] (OAK-2218) Allow SegmentNodeBuilder to provide
child builders of the same type
[ https://issues.apache.org/jira/browse/OAK-2218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Parvulescu reopened OAK-2218:
----------------------------------
spoke too soon, merging this to 1.0 introduces some test failures, I'll revert the commit shortly.
{code}
testMappings[3](org.apache.jackrabbit.oak.plugins.name.ReadWriteNamespaceRegistryTest) Time elapsed: 0.038 sec <<< ERROR!
java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:134)
at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.set(MemoryNodeBuilder.java:242)
at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:93)
at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:26)
at org.apache.jackrabbit.oak.plugins.nodetype.TypeRegistration.mergeSupertypes(TypeRegistration.java:214)
at org.apache.jackrabbit.oak.plugins.nodetype.TypeRegistration.apply(TypeRegistration.java:144)
at org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider.getRootEditor(TypeEditorProvider.java:67)
at org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider.getRootEditor(CompositeEditorProvider.java:80)
at org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:53)
at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore$MemoryNodeStoreBranch.merge(MemoryNodeStore.java:258)
at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore.merge(MemoryNodeStore.java:126)
at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:247)
at org.apache.jackrabbit.oak.core.SystemRoot.commit(SystemRoot.java:38)
at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:258)
at org.apache.jackrabbit.oak.core.SystemRoot.commit(SystemRoot.java:38)
at org.apache.jackrabbit.oak.plugins.nodetype.write.ReadWriteNodeTypeManager.registerNodeTypes(ReadWriteNodeTypeManager.java:145)
at org.apache.jackrabbit.commons.cnd.CndImporter.registerNodeTypes(CndImporter.java:162)
at org.apache.jackrabbit.oak.plugins.nodetype.write.BuiltInNodeTypes.registerBuiltinNodeTypes(BuiltInNodeTypes.java:93)
at org.apache.jackrabbit.oak.plugins.nodetype.write.BuiltInNodeTypes.register(BuiltInNodeTypes.java:85)
at org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent.initialize(InitialContent.java:89)
at org.apache.jackrabbit.oak.spi.lifecycle.CompositeInitializer.initialize(CompositeInitializer.java:48)
at org.apache.jackrabbit.oak.spi.lifecycle.OakInitializer.initialize(OakInitializer.java:42)
at org.apache.jackrabbit.oak.Oak.createContentRepository(Oak.java:502)
at org.apache.jackrabbit.oak.Oak.createContentSession(Oak.java:589)
at org.apache.jackrabbit.oak.plugins.name.ReadWriteNamespaceRegistryTest.createContentSession(ReadWriteNamespaceRegistryTest.java:40)
{code}
> Allow SegmentNodeBuilder to provide child builders of the same type
> -------------------------------------------------------------------
>
> Key: OAK-2218
> URL: https://issues.apache.org/jira/browse/OAK-2218
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segmentmk
> Reporter: Alex Parvulescu
> Assignee: Alex Parvulescu
> Fix For: 1.0.9, 1.1.2
>
> Attachments: OAK-2218-v2.patch, OAK-2218-v3.patch, OAK-2218.patch
>
>
> Currently drilling down from a SegmentNodeBuilder via the child node methods will switch you over to a simple MemoryNodeBuilder.
> It turns out this has a big impact on memory consumption when running a full Lucene reindex as all of the files (all list of Blobs) will be backed by in-memory byte arrays, instead of SegmentBlobs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)