You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "John Vines (JIRA)" <ji...@apache.org> on 2014/08/07 23:59:12 UTC

[jira] [Created] (CURATOR-136) Invalid LeaderLatch path never errors

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)