[
https://issues.apache.org/jira/browse/ZOOKEEPER-1109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13061783#comment-13061783
]
Mahadev konar commented on ZOOKEEPER-1109:
------------------------------------------
Laxman,
I think we should probably use volatile for boolean running?
> Zookeeper service is down when SyncRequestProcessor meets any exception.
> ------------------------------------------------------------------------
>
> Key: ZOOKEEPER-1109
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1109
> Project: ZooKeeper
> Issue Type: Bug
> Components: quorum
> Affects Versions: 3.3.0, 3.3.1, 3.3.2, 3.3.3
> Reporter: Laxman
> Attachments: ZOOKEEPER-1109.patch
>
> Original Estimate: 72h
> Remaining Estimate: 72h
>
> *Problem* Zookeeper is not shut down completely when dataDir disk space is
> full and ZK Cluster went into unserviceable state.
>
> *Scenario*
> If the leader zookeeper disk is made full, the zookeeper is trying to
> shutdown. But it is waiting indefinitely while shutting down the
> SyncRequestProcessor thread.
> *Root Cause*
> this.join() is invoked in the same thread where System.exit(11) has been
> triggered.
> When disk space full happens, It got the exception as follows 'No space left
> on device' and invoked System.exit(11) from the SyncRequestProcessor
> thread(The following logs shows the same). Before exiting JVM, ZK will
> execute the ShutdownHook of QuorumPeerMain and the flow comes to
> SyncRequestProcessor.shutdown(). Here this.join() is invoked in the same
> thread where System.exit(11) has been invoked.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira