[
https://issues.apache.org/jira/browse/ZOOKEEPER-1109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Laxman updated ZOOKEEPER-1109:
------------------------------
Attachment: ZOOKEEPER-1109.patch
Tested the patch with debug points.
Not able to add a testcase as this System.exit scenario.
*Patch*
If the shutdown has been triggered by this thread, we dont call this.join().
> 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