curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhaogang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CURATOR-165) LeaderLatch.checkLeadership(LeaderLatch.java:478) will throw a exception, then no leader will be elected.
Date Thu, 13 Nov 2014 01:53:33 GMT

    [ 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)

Mime
View raw message