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: SegmentNodeStore merge operations
Date Thu, 07 Mar 2013 12:11:00 GMT

On Thu, Mar 7, 2013 at 1:57 PM, Marcel Reutegger <mreutegg@adobe.com> wrote:
> not necessarily. e.g. if we take the unique UUID as an example,
> two sessions can proceed concurrently when they create nodes
> with different UUIDs, which is usually the case. the conflict only
> materializes when you create two nodes with the same UUID.

But you can't know that in advance, so for example all XML imports
with at least one UUID in it would need synchronization. That's
probably a rare enough case not to worry about, but consider something
like adding a new write restriction on the root node. That of course
happens very rarely, but for conflict materialization to work properly
for such cases *all* writes would need to hit that materialization

> doesn't this require knowledge about the internals of the global
> invariant. how does the SegmentMK know what exactly it can undo?

My idea is to "undo" (or move to a separate conflict queue) the entire
commit that fails to validate during a merge. Commits for which this
could be a problem should be made against the root journal.


Jukka Zitting

View raw message