jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Re: When moving a Tree, can it die?
Date Fri, 19 Oct 2012 21:40:46 GMT

On Fri, Oct 5, 2012 at 9:58 AM, Michael Dürig <mduerig@apache.org> wrote:
> However in the case of a move operation I think this would cause the above
> test case to fail, since x.getParent() would then still point to the root.

Yes, the test case would need to be adapted. I filed OAK-391 [1] to
track this issue.

> Maybe we could just throw an InvalidItemStateException for such cases?

The trouble is that a parent doesn't have a direct reference to a
child and can thus not tell it that it has become invalid. The only
way I can think of to solve this issue is for the child to ask the
parent about the status whenever accessed, a bit like what
MemoryNodeBuilder now does.

> This would simplify things considerably, let us get rid of the children weak
> refs, and might also open up a way to reduce the number of re-resolves
> taking place. As Marcel pointed out yesterday, the latter also shows up
> as bottleneck in read performance.

Indeed, I'm also seeing it show up quite a bit when profiling our
existing benchmarks.

[1] https://issues.apache.org/jira/browse/OAK-391


Jukka Zitting

View raw message