Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.13.1
-
None
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.