Hi, On Wed, Feb 6, 2013 at 6:55 PM, Michael Dürig <[email protected]> wrote: > Since we now have branches in the Microkernel I suggest, we remove this > feature entirely. That is, remove the KernelNodeBuilder and > KernelRootBuilder classes. Unless we want to further pursue getting rid of > NodeStoreBranch, that is.
Actually we perhaps should consider this. A problem that I just encountered (see my post on large commits) is the way commit hooks operate directly on the NodeBuilder level. A large commit like a big import operation will trigger a large index update, which can easily lead to an OutOfMemoryError with the MemoryNodeBuilder. If we pushed the purge logic down below the NodeBuilder interface we could address that problem. As an additional benefit the underlying storage engine could better decide when and how pending changes should be persisted. For example the SegmentMK could decide to only persist those parts of the transient tree that haven't changed in a while, leaving the active parts still in memory. BR, Jukka Zitting
