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

Claus Köll updated JCR-3999:
----------------------------
    Description: 
We have seen a deadlock in the FineGrainedISMLocking in our XA Environment.

The deadlock will occur if the xa client connects to jackrabbit with 2 
different credentials (xa-resources) during a global transaction.
If that happens the FineGrainedISMLocking will create a lock from xa-resource-1 
during the prepare phase. The lock creates the SISM
in the Update.begin() Method.
The xa-resource-2 tries also to create a lock but can not allocate it because 
the first created lock would be realesed in the commit phase.

The FineGrainedISMLocking should re-allocate the lock if it comes from the same 
gloal transaction.
This behaviour is already implemented in the DefaultISMLocking.



> Possibility for a Deadlock in FineGrainedISMLocking in a XA Environment
> -----------------------------------------------------------------------
>
>                 Key: JCR-3999
>                 URL: https://issues.apache.org/jira/browse/JCR-3999
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.13.1
>            Reporter: Claus Köll
>            Assignee: Claus Köll
>             Fix For: 2.13.2
>
>
> We have seen a deadlock in the FineGrainedISMLocking in our XA Environment.
> The deadlock will occur if the xa client connects to jackrabbit with 2 
> different credentials (xa-resources) during a global transaction.
> If that happens the FineGrainedISMLocking will create a lock from 
> xa-resource-1 during the prepare phase. The lock creates the SISM
> in the Update.begin() Method.
> The xa-resource-2 tries also to create a lock but can not allocate it because 
> the first created lock would be realesed in the commit phase.
> The FineGrainedISMLocking should re-allocate the lock if it comes from the 
> same gloal transaction.
> This behaviour is already implemented in the DefaultISMLocking.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to