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:48:25 GMT

On Mon, Jul 22, 2013 at 1:35 PM, Michael Dürig <mduerig@apache.org> wrote:
> For other NodeStore implementations I currently don't see how to reuse the
> code from SegmentMK without changing the contract of the Microkernel.merge
> method. As long as that method does its own merge magic we need to prevent
> concurrent merges in order to avoid the race condition. This means we'd need
> to synchronise on the NodeStore instance as you mention. But AFAIR we
> explicitly wanted to avoid this for scalability reasons.

Note that the extra synchronization here would only hurt single-node
concurrency, not horizontal scalability across cluster nodes. I.e. it
would still be possible for two cluster nodes (even two
repository/KernelNodeStore instances in the same JVM) to commit
concurrently. The limitation would be on the set of concurrent
sessions for which we want to keep track of local commit information
for observation.


Jukka Zitting

View raw message