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)