Class PaxosBallotTracker
- java.lang.Object
-
- org.apache.cassandra.service.paxos.uncommitted.PaxosBallotTracker
-
public class PaxosBallotTracker extends java.lang.Object
Tracks the highest paxos ballot we've seen, and the lowest ballot we can accept. During paxos repair, the coordinator gets the highest ballot seen by each participant. At the end of repair, that high ballot is set as the new low bound. Combined with paxos repair during topology changes, this eliminates the possibility of new nodes accepting ballots that are before the most recently accepted ballot for a key.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
flush()
File
getDirectory()
Ballot
getHighBound()
Ballot
getLowBound()
static PaxosBallotTracker
load(File directory)
void
onUpdate(Row row)
void
truncate()
static void
truncate(File directory)
void
updateLowBound(Ballot update)
-
-
-
Method Detail
-
truncate
public static void truncate(File directory) throws java.io.IOException
- Throws:
java.io.IOException
-
load
public static PaxosBallotTracker load(File directory) throws java.io.IOException
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
- Throws:
java.io.IOException
-
truncate
public void truncate()
-
onUpdate
public void onUpdate(Row row)
-
getDirectory
public File getDirectory()
-
updateLowBound
public void updateLowBound(Ballot update) throws java.io.IOException
- Throws:
java.io.IOException
-
getHighBound
public Ballot getHighBound()
-
getLowBound
public Ballot getLowBound()
- Returns:
- a unique ballot that has never been proposed, below which we will reject all proposals
-
-