You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2014/01/06 14:25:53 UTC

[jira] [Commented] (OAK-1254) Parallel execution of SimpleSearchTest fails with MongoMK

    [ https://issues.apache.org/jira/browse/OAK-1254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13862983#comment-13862983 ] 

Marcel Reutegger commented on OAK-1254:
---------------------------------------

I identified yet another concurrency problem with the way the revision comparator is updated with seen-at revisions from different cluster nodes. The background read in MongoNodeStore first updates the revision comparator with seen-at revisions from foreign cluster nodes, then invalidates caches and eventually updates the comparator with its own revision. This sequence opens a small window where a read from other cluster node becomes visible even though it shouldn't.

The background read orders the revisions with the help of the revision comparator like this:
1) current head revision happens before new revisions from other cluster nodes
2) new revisions from other cluster nodes happen before new head revision created by background read
3) new head revision happens before any future commit done on local cluster node

The inconsistent read happens because 2) is done before 1) and local commits since the last background read appear to happen before new revisions from other cluster nodes.

Added a test case in http://svn.apache.org/r1555739

> Parallel execution of SimpleSearchTest fails with MongoMK
> ---------------------------------------------------------
>
>                 Key: OAK-1254
>                 URL: https://issues.apache.org/jira/browse/OAK-1254
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, mongomk
>    Affects Versions: 0.12
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>             Fix For: 0.14
>
>
> At some point in the benchmark run one MongoMK instance will fail to read a node created by another instance. The exception is very similar to *E1* reported in OAK-1204.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)