From 409dfe838e8ae30e2512256852c1fef31f3255b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Tue, 20 Mar 2012 12:45:26 +0100 Subject: Make sure there is only one valid new master. This is done using the paxos proposal number as a certificate. --- same/src/main/java/com/orbekk/paxos/MasterProposer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'same/src/main/java/com/orbekk/paxos/MasterProposer.java') diff --git a/same/src/main/java/com/orbekk/paxos/MasterProposer.java b/same/src/main/java/com/orbekk/paxos/MasterProposer.java index 8469cf4..094a749 100644 --- a/same/src/main/java/com/orbekk/paxos/MasterProposer.java +++ b/same/src/main/java/com/orbekk/paxos/MasterProposer.java @@ -91,9 +91,9 @@ public class MasterProposer extends Thread { } Integer proposeRetry(int proposalNumber, Runnable retryAction) { - assert proposalNumber >= 0; + assert proposalNumber > 0; int nextProposal = proposalNumber; - int result = -1; + int result = nextProposal - 1; while (!Thread.interrupted() && result != nextProposal) { result = internalPropose(nextProposal); -- cgit v1.2.3