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.