Interface TxnLog

    • Method Detail

      • setServerStats

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

        boolean append​(TxnHeader hdr,
                       Record r)
                throws IOException
        Append a request to the transaction log
        Parameters:
        hdr - the transaction header
        r - the transaction itself
        Returns:
        true iff something appended, otw false
        Throws:
        IOException
      • append

        boolean append​(TxnHeader hdr,
                       Record r,
                       TxnDigest digest)
                throws IOException
        Append a request to the transaction log with a digset
        Parameters:
        hdr - the transaction header
        r - the transaction itself
        digest - transaction digest 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