John Vines created CURATOR-136:
----------------------------------
Summary: Invalid LeaderLatch path never errors
Key: CURATOR-136
URL: https://issues.apache.org/jira/browse/CURATOR-136
Project: Apache Curator
Issue Type: Bug
Components: Recipes
Affects Versions: 2.6.0
Reporter: John Vines
I was messing with the LeaderLatch and I noticed some ill behavior for the
pathing of it. Given the following code-
{code} public static void main(String args[]) throws Exception {
TestingServer ts = new TestingServer();
CuratorFramework curator =
CuratorFrameworkFactory.builder().connectString(ts.getConnectString()).retryPolicy(new
ExponentialBackoffRetry(1000, 5)).build();
curator.start();
curator.getZookeeperClient().blockUntilConnectedOrTimedOut();
curator.create().creatingParentsIfNeeded().forPath("/parent", "A
string".getBytes());
try {
LeaderLatch ll = new LeaderLatch(curator, "parent", "myNode");
ll.start();
ll.await();
System.out.println(ll.hasLeadership());
ll.close();
} catch (Exception e) {
e.printStackTrace();
}
ts.close();
}
{code}
the system will just hang forever. Inspecting the TestingServer with zkcli
shows entries showing up though.
If I switch out the path in the LeaderLatch constructor with "/parent", the
same path is created AND the program runs fine.
LeaderLatch should either accept the path all around or fail outright, not this
half state that makes things difficult for the user.
--
This message was sent by Atlassian JIRA
(v6.2#6252)