You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Walter Raboch (JIRA)" <ji...@apache.org> on 2005/08/22 17:02:08 UTC

[jira] Created: (JCR-194) dead lock while locking or unlocking nodes

dead lock while locking or unlocking nodes
------------------------------------------

         Key: JCR-194
         URL: http://issues.apache.org/jira/browse/JCR-194
     Project: Jackrabbit
        Type: Bug
  Components: locks  
    Versions: 1.0    
 Environment: Win XP, Sun JDK 1.5.0
    Reporter: Walter Raboch


JackRabbit is still hanging on the Node.lock() or Node.unlock() function.

... everything fine until here...
s13: 4
s13: 5
s13: 6
s13: 7   -> unlock()
s14: started.
s14: 1   -> session.getRootNode()
s15: started.
s15: 1
s16: started.

I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.

1. rm -rf repository.home
2. run -> hang
3. kill
4. run -> ok
5. run -> ok


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]
     
Dominique Pfister resolved JCR-194:
-----------------------------------

    Resolution: Fixed

Modified LockManagerImpl to not synchronize when updating content since this can clash with the synchronous event listener being called during a store operation.

Fixed in release 239389.

> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister
>  Attachments: SharedItemStateManager.diff
>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Reopened: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]
     
Dominique Pfister reopened JCR-194:
-----------------------------------


Other problem arises.

> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister
>  Attachments: SharedItemStateManager.diff
>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]
     
Dominique Pfister closed JCR-194:
---------------------------------


> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister
>      Fix For: 1.0
>  Attachments: SharedItemStateManager.diff
>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Re: [jira] Resolved: (JCR-194) dead lock while locking or unlocking nodes

Posted by Walter Raboch <wr...@ingen.at>.
Hi Dominique,

I have to thank you - everythink works fine now - even under heavy load.

So thanks again.

Walter

[jira] Resolved: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]
     
Dominique Pfister resolved JCR-194:
-----------------------------------

    Fix Version: 1.0
     Resolution: Fixed

Another concurrency issue: whereas deadlock has now been removed, two competing threads, locking and unlocking at about the same time could invalidate each other's node representation. Thanks again to Walter Raboch for finding this issue.

Fixed in r239410.

> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister
>      Fix For: 1.0
>  Attachments: SharedItemStateManager.diff
>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Marcel Reutegger (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]

Marcel Reutegger updated JCR-194:
---------------------------------

    Attachment: SharedItemStateManager.diff

Proposed patch on SharedItemStateManager.

The write lock is downgraded to a read lock before the listeners are notified. That way, the SharedItemStateManager is effectively released for read access, but does not allow modification while the synchronous listeners are notified, giving them a consistent view of the transaction that just completed.

> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister
>  Attachments: SharedItemStateManager.diff
>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]
     
Dominique Pfister closed JCR-194:
---------------------------------


> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister
>  Attachments: SharedItemStateManager.diff
>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (JCR-194) dead lock while locking or unlocking nodes

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-194?page=all ]

Dominique Pfister reassigned JCR-194:
-------------------------------------

    Assign To: Dominique Pfister

> dead lock while locking or unlocking nodes
> ------------------------------------------
>
>          Key: JCR-194
>          URL: http://issues.apache.org/jira/browse/JCR-194
>      Project: Jackrabbit
>         Type: Bug
>   Components: locks
>     Versions: 1.0
>  Environment: Win XP, Sun JDK 1.5.0
>     Reporter: Walter Raboch
>     Assignee: Dominique Pfister

>
> JackRabbit is still hanging on the Node.lock() or Node.unlock() function.
> ... everything fine until here...
> s13: 4
> s13: 5
> s13: 6
> s13: 7   -> unlock()
> s14: started.
> s14: 1   -> session.getRootNode()
> s15: started.
> s15: 1
> s16: started.
> I just find this failure during the first run (emtpy repository home directory). 2nd and 3th run are fine after killing the vm from first run, but with already initialized repository directory these time.
> 1. rm -rf repository.home
> 2. run -> hang
> 3. kill
> 4. run -> ok
> 5. run -> ok

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira