jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomek Rękawek (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-3586) ConflictException and CommitQueue should support a list of revisions
Date Thu, 12 Nov 2015 13:11:10 GMT

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

Tomek Rękawek commented on OAK-3586:

Hi [~mreutegg]! Thanks for the feedback.

Thanks for the updates. There are still no tests for the case with multiple conflict revisions.
I've added {{DocumentNodeStoreTest#resolveMultipleConflictedRevisions()}}.

I think there is also an issue in CommitQueue.suspendUntilAll():
s.tryAcquire(suspendedCommits.size(), suspendTimeout, TimeUnit.MILLISECONDS);
Nice catch! I fixed this and added test covering it: {{CommitQueueTest#concurrentSuspendUntil()}}

If we keep the name, wouldn't it be easier to track the set of conflict revisions in SuspendedCommit?

I also fixed issues from your second comment.

> ConflictException and CommitQueue should support a list of revisions
> --------------------------------------------------------------------
>                 Key: OAK-3586
>                 URL: https://issues.apache.org/jira/browse/OAK-3586
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: core, documentmk
>            Reporter: Tomek Rękawek
>             Fix For: 1.4
> The OAK-3559 aims at providing bulk version of the {{DocumentStore#createOrUpdate()}},
so the {{Commit}} class can apply many changes at the same time. If there's a conflict detected
afterwards, it may involve many documents and revisions. That's why the {{ConflictException}}
needs to be extended, so it can contain a revision list rather than a single revision.
> Once the {{ConflictException}} contains revision list, the {{CommitQueue#suspendUntil()}}
method should be updated as well, to suspend thread until all revisions from the passed collection
are visible and all conflicts are resolved.

This message was sent by Atlassian JIRA

View raw message