You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Jordan Zimmerman (JIRA)" <ji...@apache.org> on 2015/04/21 03:17:59 UTC
[jira] [Closed] (CURATOR-168) Background protected mode incorrectly
sets Event name to just ZNode name. Should be full path.
[ https://issues.apache.org/jira/browse/CURATOR-168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jordan Zimmerman closed CURATOR-168.
------------------------------------
Resolution: Fixed
> Background protected mode incorrectly sets Event name to just ZNode name. Should be full path.
> ----------------------------------------------------------------------------------------------
>
> Key: CURATOR-168
> URL: https://issues.apache.org/jira/browse/CURATOR-168
> Project: Apache Curator
> Issue Type: Bug
> Components: Recipes
> Affects Versions: 2.7.0
> Environment: operating system:ubuntu
> Reporter: zhaogang
> Priority: Blocker
> Fix For: 2.7.2
>
> Attachments: CURATOR-168.patch
>
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> We use LeaderLatch for leader election within our several zookeeper clients,but sometimes our leaderLatch stopped to work due to a error "Background exception was not retry-able or retry gave up java.lang.IllegalArgumentException: Path must start with / characte".
> To found the reason we tracked the execution of program in class LeaderLatch with debug mode,we found the code "setNode(event.getName());" in line 487 of LeaderLatch.class in which "event.getName()" code sometimes didn't return the full path of the znode but only return the last part of the full path,like "_c_b1097329-4a77-493b-806c-5c888067eeab-latch-0000004068", but the full path should be "/api1/leaders/_c_b1097329-4a77-493b-806c-5c888067eeab-latch-0000004068".
> So the when event.getName()=="_c_b1097329-4a77-493b-806c-5c888067eeab-latch-0000004068", the program will fail to go through the codes below:
> 1.LeaderLatch.checkLeadership() line 526
> 2.ZKPaths.getNodeFromPath() line 61
> 3.PathUtils.validatePath(path) line 46
> And then the LeaderLatch stopped to work.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)