On 27.2.13 12:15, Jukka Zitting wrote:
Hi,

On Wed, Feb 6, 2013 at 6:55 PM, Michael Dürig <mic...@gmail.com> 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.

Makes sense. I created https://issues.apache.org/jira/browse/OAK-659 to track this.

Michael


BR,

Jukka Zitting

Reply via email to