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: Conflict handling causes spurious observation events
Date Mon, 22 Jul 2013 10:05:21 GMT

On Fri, Jul 19, 2013 at 7:00 PM, Michael Dürig <mduerig@apache.org> wrote:
> Chetan discovered that in some cases spurious observation events would be
> created when to sessions save concurrently. In a nutshell the problem occurs
> since the current implementation of observation [1] expects a linear
> sequence of revisions (per cluster node). However on Root.commit there is a
> small race between rebasing and merging a branch: when another session saves
> inside this time frame, its branch will have the same base revision like
> that of the former session. In this case the sequence of revisions is
> effectively non linear.

If we move the logic from Root.commit() to NodeStoreBranch.merge(), we
should be able to prevent concurrent updates either by leveraging the
internal rebase logic in SegmentMK or by synchronizing on the
associated NodeStore instance.


Jukka Zitting

View raw message