[
https://issues.apache.org/jira/browse/ZOOKEEPER-2991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16465582#comment-16465582
]
Paul Millar commented on ZOOKEEPER-2991:
----------------------------------------
ZOOKEEPER-2795 is almost the same as this bug report
> Server logs error on shutdown
> -----------------------------
>
> Key: ZOOKEEPER-2991
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2991
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.4.10, 3.4.11
> Reporter: Paul Millar
> Priority: Major
>
> Commit d497aac4 introduced the ZooKeeperServer#registerServerShutdownHandler
> method and corresponding ZooKeeperServerShutdownHandler class. Both the
> method and class are package-protected, resulting in the expectation that
> non-ZK code should not use either.
> However, if registerServerShutdownHandler is *not* called, then ZK will log
> an error:
> {quote}ZKShutdownHandler is not registered, so ZooKeeper server won't take
> any action on ERROR or SHUTDOWN server state changes
> {quote}
> There are several problems here. In order of importance (for me, at least!)
> First, (most important) this certainly should not be logged as an error.
> Depending on usage, there may be no need for a shutdown handler. Always
> logging an error (with no opportunity to silence it) is therefore wrong.
> Second, the ability to learn of state changes may be of general interest
> (monitoring, etc); however, this is not possible if the method is protected.
> Third, the method accepts a concrete class that is designed to use a
> CountDownLatch. This is not appropriate in all cases. The method should be
> updated to accept an interface.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)