[
https://issues.apache.org/jira/browse/CURATOR-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kuradeon updated CURATOR-724:
-----------------------------
Description:
After [https://github.com/apache/curator/pull/430], the LeaderLatch will call
getChildren() instead of reset() to recover the leader election. But
getChildren() triggers setNode() via callback
client.getChildren().inBackground(callback).forPath(ZKPaths.makePath(latchPath,
null)). If the leaderPath doesn't exist after zk recovered, then the
LeaderLatch node wouldn't never recovered.
There is a temporary solution, adding a ConnectionStateListener before the
LeaderLatch internal ConnectionStateListener, which to create the leaderPath
node manually. Then this issue will be fixed.
was:https://github.com/apache/curator/pull/430
> LeaderLatch isn't able to recover after zk recover/leader path missing.
> -----------------------------------------------------------------------
>
> Key: CURATOR-724
> URL: https://issues.apache.org/jira/browse/CURATOR-724
> Project: Apache Curator
> Issue Type: Bug
> Components: Recipes
> Affects Versions: 5.5.0, 5.6.0, 5.7.0, 5.7.1
> Reporter: Kuradeon
> Priority: Major
>
> After [https://github.com/apache/curator/pull/430], the LeaderLatch will call
> getChildren() instead of reset() to recover the leader election. But
> getChildren() triggers setNode() via callback
> client.getChildren().inBackground(callback).forPath(ZKPaths.makePath(latchPath,
> null)). If the leaderPath doesn't exist after zk recovered, then the
> LeaderLatch node wouldn't never recovered.
> There is a temporary solution, adding a ConnectionStateListener before the
> LeaderLatch internal ConnectionStateListener, which to create the leaderPath
> node manually. Then this issue will be fixed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)