Interface TxnLog

  • All Known Implementing Classes:
    FileTxnLog

    public interface TxnLog
    Interface for reading transaction logs.
    • Nested Class Summary

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean append​(TxnHeader hdr, org.apache.jute.Record r)
      Append a request to the transaction log
      void close()
      close the transactions logs
      void commit()
      commmit the trasaction and make sure they are persisted
      long getDbId()
      the dbid for this transaction log.
      long getLastLoggedZxid()
      the last zxid of the logged transactions.
      TxnLog.TxnIterator read​(long zxid)
      Start reading the transaction logs from a given zxid
      void rollLog()
      roll the current log being appended to
      void setServerStats​(ServerStats serverStats)
      + * Setter for ServerStats to monitor fsync threshold exceed + * @param serverStats used to update fsyncThresholdExceedCount +
      boolean truncate​(long zxid)
      truncate the log to get in sync with the leader.
    • Method Detail

      • setServerStats

        void setServerStats​(ServerStats serverStats)
        + * Setter for ServerStats to monitor fsync threshold exceed + * @param serverStats used to update fsyncThresholdExceedCount +
      • rollLog

        void rollLog()
              throws java.io.IOException
        roll the current log being appended to
        Throws:
        java.io.IOException
      • append

        boolean append​(TxnHeader hdr,
                       org.apache.jute.Record r)
                throws java.io.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:
        java.io.IOException
      • read

        TxnLog.TxnIterator read​(long zxid)
                         throws java.io.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:
        java.io.IOException
      • getLastLoggedZxid

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

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

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

        void commit()
             throws java.io.IOException
        commmit the trasaction and make sure they are persisted
        Throws:
        java.io.IOException
      • close

        void close()
            throws java.io.IOException
        close the transactions logs
        Throws:
        java.io.IOException