Ah, sorry if I was unclear, but I was just joking about putting a sleep(1000) in here. The real solution is to add a synchronized block to isLeader and notLeader -- I was just making a point that we're not concerned with the overhead of synchronization in this code path. (The synchronized block is not needed with the current implementation and use of Curator, but I think it makes the code clearer without a real downside.)