From c0405d1328e5b05afccfdb117d63766cebd836f2 Mon Sep 17 00:00:00 2001 From: John Lonergan Date: Sun, 16 Oct 2016 02:58:26 +0100 Subject: [PATCH] Issue 4 - race condition on startup Break out of the follow() loop if the current program becomes leader --- src/main/java/org/apache/bookkeeper/Dice.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/apache/bookkeeper/Dice.java b/src/main/java/org/apache/bookkeeper/Dice.java index a57b716..4e7027c 100644 --- a/src/main/java/org/apache/bookkeeper/Dice.java +++ b/src/main/java/org/apache/bookkeeper/Dice.java @@ -163,7 +163,7 @@ EntryId lead(EntryId skipPast) throws Exception { EntryId follow(EntryId skipPast) throws Exception { List ledgers = null; - while (ledgers == null) { + while (ledgers == null && !leader) { try { byte[] ledgerListBytes = curator.getData() .forPath(DICE_LOG);