[
https://issues.apache.org/jira/browse/CURATOR-165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14209080#comment-14209080
]
zhaogang commented on CURATOR-165:
----------------------------------
Our path is "/api/leaders", our leader launch was being created under this path
which start with "/" indeed, i don't know why its exception prompted "Path must
start with / character".
If you can help me i will appreciate greatly, thaks!
Here is our code:
String leadersPath = "/api/leaders";
CuratorFramework client = getCuratorClient();
String serverId = "1";
LeaderLatch leaderLatch = new LeaderLatch(client,leadersPath,serverId);
LeaderLatchListener latchListener = new LeaderLatchListener() {
@Override
public void isLeader() {
clusterCallbackService.onBecameLeader(basePath,
serverId);
}
@Override
public void notLeader() {
clusterCallbackService.onLoseLeader(basePath, serverId);
}
};
leaderLatch.addListener(latchListener);
leaderLatch.start();
> LeaderLatch.checkLeadership(LeaderLatch.java:478) will throw a exception,
> then no leader will be elected.
> ---------------------------------------------------------------------------------------------------------
>
> Key: CURATOR-165
> URL: https://issues.apache.org/jira/browse/CURATOR-165
> Project: Apache Curator
> Issue Type: Bug
> Components: Recipes
> Affects Versions: 2.5.0
> Reporter: zhaogang
> Priority: Critical
>
> We use curator for leader election within our 2 clients, sometimes none of
> the 2 clients was a leader.
> We checked the log and found this caused by a exception which was being
> throwed in method LeaderLatch.checkLeadership(), after throwing this
> exception the curator won't do the leader election. Here is error log:
> ERROR org.apache.curator.framework.imps.CuratorFrameworkImpl - Background
> exception was not retry-able or retry gave up
> INFO | jvm 1 | 2014/11/12 00:36:52 | java.lang.IllegalArgumentException:
> Path must start with / character
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.utils.PathUtils.validatePath(PathUtils.java:53)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.utils.ZKPaths.getNodeFromPath(ZKPaths.java:56)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.framework.recipes.leader.LeaderLatch.checkLeadership(LeaderLatch.java:478)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.framework.recipes.leader.LeaderLatch.access$500(LeaderLatch.java:60)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.framework.recipes.leader.LeaderLatch$6.processResult(LeaderLatch.java:536)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.framework.imps.CuratorFrameworkImpl.sendToBackgroundCallback(CuratorFrameworkImpl.java:730)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.framework.imps.CuratorFrameworkImpl.processBackgroundOperation(CuratorFrameworkImpl.java:516)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.curator.framework.imps.GetChildrenBuilderImpl$2.processResult(GetChildrenBuilderImpl.java:166)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:590)
> INFO | jvm 1 | 2014/11/12 00:36:52 | at
> org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)