You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Dominique Pfister (JIRA)" <ji...@apache.org> on 2007/03/12 10:16:09 UTC
[jira] Created: (JCR-785) Updates to multiple workspaces (e.g. in a
transaction) locked in cluster journal
Updates to multiple workspaces (e.g. in a transaction) locked in cluster journal
--------------------------------------------------------------------------------
Key: JCR-785
URL: https://issues.apache.org/jira/browse/JCR-785
Project: Jackrabbit
Issue Type: Bug
Components: core
Affects Versions: 1.2.3
Reporter: Dominique Pfister
Assigned To: Dominique Pfister
Running a transaction that updates multiple workspaces (e.g. a versioning operation) will be locked, as they all try to acquire a non-reentrant lock in the cluster's journal. Short-term fix is to make the lock re-entrant. In the long run, a transaction context sensitive lock may be more appropriate.
How to reproduce: enable clustering in the test environment and let the test o.a.j.core.XATest.testSetVersionLabel() run. This will result in a deadlock when committing the operation.
This was initially reported by Rafał Kwiecień as a problem when using springmodules and clustering but turned out to be general problem with transactions and clustering. Thanks for reporting it!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (JCR-785) Updates to multiple workspaces (e.g. in a
transaction) locked in cluster journal
Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting updated JCR-785:
------------------------------
Fix Version/s: 1.3
Affects Version/s: 1.2.1
1.2.2
> Updates to multiple workspaces (e.g. in a transaction) locked in cluster journal
> --------------------------------------------------------------------------------
>
> Key: JCR-785
> URL: https://issues.apache.org/jira/browse/JCR-785
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.2.1, 1.2.2, 1.2.3
> Reporter: Dominique Pfister
> Assigned To: Dominique Pfister
> Fix For: 1.3
>
>
> Running a transaction that updates multiple workspaces (e.g. a versioning operation) will be locked, as they all try to acquire a non-reentrant lock in the cluster's journal. Short-term fix is to make the lock re-entrant. In the long run, a transaction context sensitive lock may be more appropriate.
> How to reproduce: enable clustering in the test environment and let the test o.a.j.core.XATest.testSetVersionLabel() run. This will result in a deadlock when committing the operation.
> This was initially reported by Rafał Kwiecień as a problem when using springmodules and clustering but turned out to be general problem with transactions and clustering. Thanks for reporting it!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (JCR-785) Updates to multiple workspaces (e.g. in
a transaction) locked in cluster journal
Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dominique Pfister resolved JCR-785.
-----------------------------------
Resolution: Fixed
Made the read-write lock in o.a.j.core.journal.AbstractJournal re-entrant, allowing the same, commiting thread to reacquire the write-lock. All transaction-related tests in XATest now pass successfully.
Fixed in revision 517141.
> Updates to multiple workspaces (e.g. in a transaction) locked in cluster journal
> --------------------------------------------------------------------------------
>
> Key: JCR-785
> URL: https://issues.apache.org/jira/browse/JCR-785
> Project: Jackrabbit
> Issue Type: Bug
> Components: core
> Affects Versions: 1.2.3
> Reporter: Dominique Pfister
> Assigned To: Dominique Pfister
>
> Running a transaction that updates multiple workspaces (e.g. a versioning operation) will be locked, as they all try to acquire a non-reentrant lock in the cluster's journal. Short-term fix is to make the lock re-entrant. In the long run, a transaction context sensitive lock may be more appropriate.
> How to reproduce: enable clustering in the test environment and let the test o.a.j.core.XATest.testSetVersionLabel() run. This will result in a deadlock when committing the operation.
> This was initially reported by Rafał Kwiecień as a problem when using springmodules and clustering but turned out to be general problem with transactions and clustering. Thanks for reporting it!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.