Class CheckpointManager

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    public class CheckpointManager
    extends java.lang.Object
    implements java.lang.AutoCloseable
    This class is used to manage checkpoints of one wal node
    • Field Detail

      • identifier

        protected final java.lang.String identifier
        WALNode identifier of this checkpoint manager
      • logDirectory

        protected final java.lang.String logDirectory
        directory to store .checkpoint file
    • Constructor Detail

      • CheckpointManager

        public CheckpointManager​(java.lang.String identifier,
                                 java.lang.String logDirectory)
                          throws java.io.FileNotFoundException
        Throws:
        java.io.FileNotFoundException
    • Method Detail

      • makeCreateMemTableCP

        public void makeCreateMemTableCP​(MemTableInfo memTableInfo)
        make checkpoint for create memTable info
      • makeFlushMemTableCP

        public void makeFlushMemTableCP​(long memTableId)
        make checkpoint for flush memTable info
      • getOldestMemTableInfo

        public MemTableInfo getOldestMemTableInfo()
        Get MemTableInfo of oldest MemTable, whose first version id is smallest
      • getFirstValidWALVersionId

        public long getFirstValidWALVersionId()
        Get version id of first valid .wal file
        Returns:
        Return Long.MIN_VALUE if no file is valid
      • getTotalCostOfActiveMemTables

        public long getTotalCostOfActiveMemTables()
        Get total cost of active memTables
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable