Thomas Mueller created JCR-3406:
-----------------------------------

             Summary: Journal doUnlock sometimes not called on repository 
shutdown
                 Key: JCR-3406
                 URL: https://issues.apache.org/jira/browse/JCR-3406
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
            Reporter: Thomas Mueller
            Assignee: Thomas Mueller


When the repository is shut down, the method AbstractJournal.doUnlock(boolean 
successful) is sometimes not called. The method Journal.close is called, but 
when the journal implementation uses a reentrant lock it can't unlock because 
close is called from a different thread.

The reason for not calling doUnlock is that ClusterNode.stop() sets the status 
to "stopped", which causes all WorkspaceUpdateChannel methods to not work, 
including updateCommitted and updateCancelled. Therefore, it is possible that 
an operation is started but never completed nor cancelled.

To solve the issue, I found that it is enough to let updateCommitted and 
updateCancelled to complete, so that operations that are in progress can finish.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to