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

ASF GitHub Bot commented on ZOOKEEPER-2795:
-------------------------------------------

Github user afine commented on the issue:

    https://github.com/apache/zookeeper/pull/273
  
    @phunt I'm trying to understand the problem you are describing. Please let 
me know what I am missing.
    
    Since `QuorumZooKeeperServer` reimplements `setState` without 
`ZooKeeperServerShutdownHandler`  I think this is only an issue when dealing 
with standalone ZooKeeper servers. 
    
    Standalone servers are only instantiated (outside of tests) in 
`ZooKeeperServerMain#runFromConfig` (which also does the work of setting the 
`ZooKeeperServerShutdownHandler`).
    
    In other words, I think we are dealing with an unfortunate usage of 
inheritance. It would be ideal to add this `ZooKeeperServerShutdownHandler` in 
a subclass of `ZooKeeperServer` used only for standalone purposes but it looks 
like we did the opposite, putting in the `ZooKeeperServerShutdownHandler` in 
the default case and reimplementing `setState` for the purpose of ignoring the 
`ZooKeeperServerShutdownHandler` it in `QuorumZooKeeperServer`. 
    
    When the `ZooKeeperServerShutdownHandler` is needed it is always set (in 
production code). 
    
    So I guess my question is, what problem would an operator be debugging with 
this log message?
     


> Change log level for "ZKShutdownHandler is not registered" error message
> ------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2795
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2795
>             Project: ZooKeeper
>          Issue Type: Wish
>    Affects Versions: 3.4.10, 3.5.3, 3.6.0
>            Reporter: Andy Chambers
>            Assignee: Abraham Fine
>            Priority: Trivial
>
> We have an integration test suite that starts up an embedded version of 
> zookeeper as part of a suite of services.
> However because it doesn't register a shutdown handler, we get lots of 
> warnings that look like this
> 17-05-30 15:04:56 achambers.local ERROR 
> [org.apache.zookeeper.server.ZooKeeperServer:472] - ZKShutdownHandler is not 
> registered, so ZooKeeper server won't take any action on ERROR or SHUTDOWN 
> server state changes
> My java is a bit rusty but I think I can't create one of these shutdown 
> handlers from outside the "org.apache.zookeeper.server" package because the 
> constructor has not been marked "public". Would it be possible to do so?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to