[
https://issues.apache.org/jira/browse/BOOKKEEPER-63?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13095374#comment-13095374
]
Ivan Kelly commented on BOOKKEEPER-63:
--------------------------------------
Looks good, but you should also check the return value of CountdownLatch.await.
If a timeout has occurred the code should LOG.fatal and throw an exception.
Also, could you name the patch BOOKKEEPER-63.diff or .patch etc. The extension
doesn't matter, but having them named makes it easier to see what I'm working
with in my source tree.
> Hedwig PubSubServer must wait for its Zookeeper client to be connected upon
> startup
> -----------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-63
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-63
> Project: Bookkeeper
> Issue Type: Bug
> Components: hedwig-server
> Reporter: Matthieu Morel
> Priority: Minor
> Attachments: patch-testcase.txt, patch-v2.txt, patch.txt
>
>
> When a PubSubServer is instantiated in *non-standalone* mode, it creates a
> ZkTopicManager which takes a Zookeeper client as an argument.
> Unfortunately, this Zookeeper client may not be connected yet (not in
> CONNECTED state yet), and when this is the case, creation of ZkTopicManager
> fails, leading to failure of the PubSubServer startup.
> Typical error (adapted, line numbers take into account commented patching
> code):
> jjava.io.IOException:
> org.apache.hedwig.exceptions.PubSubException$ServiceDownException:
> org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode
> = ConnectionLoss for /hedwig/standalone/hosts/x.x.x.x:4080:9876
> at
> org.apache.hedwig.server.netty.PubSubServer.instantiateTopicManager(PubSubServer.java:170)
> at
> org.apache.hedwig.server.netty.PubSubServer$3.run(PubSubServer.java:294)
> at java.lang.Thread.run(Thread.java:680)
> Caused by: org.apache.hedwig.exceptions.PubSubException$ServiceDownException:
> org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode
> = ConnectionLoss for /hedwig/standalone/hosts/x.x.x.x:4080:9876
> at
> org.apache.hedwig.server.topics.ZkTopicManager$4.safeProcessResult(ZkTopicManager.java:146)
> etc...
> This is particularly problematic for running tests that require to pass a
> config to the PubSubServer.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira