[ 
https://issues.apache.org/jira/browse/OAK-893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger resolved OAK-893.
----------------------------------

    Resolution: Fixed

Fixed in http://svn.apache.org/r1502207

Branch commits still get regular revisions as before, but on merge the branch 
commits are not published like regular commits. Previously, branch commits were 
published on the root node in the _revisions map like this:

_revisions.r13fcdb25a84-0-1 : "true"

This meant, revision r13fcdb25a84-0-1 is committed and readers are able to read 
if their read revision is equal or newer than r13fcdb25a84-0-1. The problem 
with this approach was that r13fcdb25a84-0-1 was older than the merge revision.

Now, branch commits are published with the merge commit revision:

_revisions.r13fcdb25a84-0-1 : "c-r13fcdb541b4-0-1"

This means revision r13fcdb25a84-0-1 is only visible from a reader with a read 
revision, which is at least r13fcdb541b4-0-1.

Please note, that I also changed the format of a regular commit. Instead of 
"true", a committed revision is now tagged with "c".
                
> MongoMK may fail with MicroKernelException under concurrent commits
> -------------------------------------------------------------------
>
>                 Key: OAK-893
>                 URL: https://issues.apache.org/jira/browse/OAK-893
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.8
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>            Priority: Minor
>
> Under concurrent commits (with branches) it may happen that MongoMK fails 
> with a MicroKernelException, even if the commits are non-conflicting. I'll 
> add a test case...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to