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

Dominique Pfister edited comment on JCR-2881 at 2/7/11 10:26 AM:
-----------------------------------------------------------------

Solution looks as follows: when doing a cluster sync, whether it is for reading 
or writing, always acquire the version manager's read lock first.

      was (Author: dpfister):
    Solution looks as follows: when doing a cluster sync, whether it is for 
reading or writing, always acquire a the version manager's read lock first.
  
> Deadlock on version operations in a clustered environment
> ---------------------------------------------------------
>
>                 Key: JCR-2881
>                 URL: https://issues.apache.org/jira/browse/JCR-2881
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: clustering
>    Affects Versions: 2.2.3
>            Reporter: Dominique Pfister
>            Assignee: Dominique Pfister
>         Attachments: jackrabbit-core-2.2.3.patch
>
>
> Version operations in a cluster may end up in a deadlock: a write operation 
> in the version store will acquire the version manager's write lock (N1.VW) 
> and subsequently the cluster journal's write lock (N1.JW). Another cluster 
> node's write operation in some workspace will acquire the journal's write 
> lock (N2.JW) and first process the journal record log: if some of these 
> changes concern the version store, the version manager's read lock (N2.VR) 
> has to be acquired in order to deliver them. If the first cluster node 
> reaches N1.VW, and the second reaches N2.JW, we have a deadlock. The same 
> scenario takes place when the second cluster node synchronizes to the latest 
> journal changes and reaches N2.JR, when the first cluster node is in N1.VW.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to