You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2010/11/24 14:12:15 UTC

[jira] Updated: (JCR-2753) Deadlock in DefaultISMLocking

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

Jukka Zitting updated JCR-2753:
-------------------------------

    Fix Version/s: 2.1.3

Merged to the 2.1 branch in revision 1038594.

> Deadlock in DefaultISMLocking
> -----------------------------
>
>                 Key: JCR-2753
>                 URL: https://issues.apache.org/jira/browse/JCR-2753
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>             Fix For: 2.1.3, 2.2.0
>
>         Attachments: JCR-2753.patch
>
>
> There seems to be a bug in DefaultISMLocking which was detected as part of JCR-2746.
> 1) The main thread gets a read lock.
> 2) The ObservationManager thread tries to lock for writing, which is blocked because there is still a read lock.
> 3) Then the main thread tries to get a second read lock, which is blocked because there is a waiting write lock.
> The bug was introduced as part of JCR-2089 (Use java.util.concurrent), revisions 995411 and 995412. I think the safe solution is to revert those to commits, and add a test case. If the DefaultISMLocking is changed later on, more test cases are required. An efficient solution is relatively complicated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.