curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cammckenzie <...@git.apache.org>
Subject [GitHub] curator pull request: Curator 187
Date Mon, 09 Feb 2015 23:19:57 GMT
Github user cammckenzie commented on a diff in the pull request:

    https://github.com/apache/curator/pull/66#discussion_r24375761
  
    --- Diff: curator-recipes/src/main/java/org/apache/curator/framework/recipes/locks/Reaper.java
---
    @@ -333,7 +355,20 @@ public void notLeader()
                     reapingIsActive.set(false);
                 }
             };
    -        localLeaderLatch.addListener(listener);
    -        return localLeaderLatch;
    +        leaderLatch.addListener(listener);
    +
    +        reapingIsActive.set(leaderLatch.hasLeadership());
    --- End diff --
    
    Another potential race condition here? If the Reaper gets passed a LeaderLatch in its
constructor that has already undergone election (and been elected leader) then the isLeader()
method on the listener will not fire until another election occurs. While the reapiningIsActive
flag will be set to true, the schedule() method will not get called so no reaping will actually
occur?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message