Interface TxnLog

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  TxnLog.TxnIterator
      an iterating interface for reading transaction logs.
    • Method Detail

      • setServerStats

        void setServerStats​(ServerStats serverStats)
        Setter for ServerStats to monitor fsync threshold exceed
        Parameters:
        serverStats - used to update fsyncThresholdExceedCount
      • append

        boolean append​(Request request)
                throws IOException
        Append a request to the transaction log with a digset
        Parameters:
        request - the request to be appended returns true iff something appended, otw false
        Throws:
        IOException
      • read

        TxnLog.TxnIterator read​(long zxid)
                         throws IOException
        Start reading the transaction logs from a given zxid
        Parameters:
        zxid -
        Returns:
        returns an iterator to read the next transaction in the logs.
        Throws:
        IOException
      • getLastLoggedZxid

        long getLastLoggedZxid()
                        throws IOException
        the last zxid of the logged transactions.
        Returns:
        the last zxid of the logged transactions.
        Throws:
        IOException
      • truncate

        boolean truncate​(long zxid)
                  throws IOException
        truncate the log to get in sync with the leader.
        Parameters:
        zxid - the zxid to truncate at.
        Throws:
        IOException
      • getDbId

        long getDbId()
              throws IOException
        the dbid for this transaction log.
        Returns:
        the dbid for this transaction log.
        Throws:
        IOException
      • commit

        void commit()
             throws IOException
        commit the transaction and make sure they are persisted
        Throws:
        IOException
      • getTxnLogSyncElapsedTime

        long getTxnLogSyncElapsedTime()
        Returns:
        transaction log's elapsed sync time in milliseconds
      • setTotalLogSize

        void setTotalLogSize​(long size)
        Sets the total size of all log files
      • getTotalLogSize

        long getTotalLogSize()
        Gets the total size of all log files