jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCR-3406) Journal doUnlock sometimes not called on repository shutdown
Date Tue, 14 Aug 2012 11:42:37 GMT

    [ https://issues.apache.org/jira/browse/JCR-3406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434059#comment-13434059
] 

Thomas Mueller commented on JCR-3406:
-------------------------------------

Hi,

I found the Journal.close() method is sometimes called before unlocking, so I guess your solution
could still prevent unlocking if events are processed while the node is stopping. So I suggest
to remove the "if" statement unless we have a strong reason to keep it (if possible a test
case).

Regards,
Thomas

                
> 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

        

Mime
View raw message