Class 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 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