Interface Logger

All Known Implementing Classes:
FileLogger

public interface Logger
  • Method Details

    • logAndDo

      LogInstant logAndDo(RawTransaction xact, Loggable operation) throws StandardException
      Log the loggable operation under the context of the transaction and then apply the operation to the RawStore.
      Before you call this method, make sure that the Loggable's doMe method will succeed. This method will go ahead and send the log record to disk, and once it does that, then doMe cannot fail or the system will be shut down and recovery may fail. So it is very important to make sure that every resource you need for the loggable's doMe method, such as disk space, has be acquired or accounted for before calling logAndDo.
      Parameters:
      xact - the transaction that is affecting the change
      operation - the loggable operation that describes the change
      Returns:
      LogInstant that is the LogInstant of the loggable operation
      Throws:
      StandardException - Standard Derby error policy
    • logAndUndo

      LogInstant logAndUndo(RawTransaction xact, Compensation operation, LogInstant undoInstant, LimitObjectInput in) throws StandardException
      Log the compensation operation under the context of the transaction and then apply the undo to the RawStore.
      Before you call this method, make sure that the Compensation's doMe method will succeed. This method will go ahead and send the log record to disk, and once it does that, then doMe cannot fail or the system will be shut down and recovery may fail. So it is very important to make sure that every resource you need for the Compensation's doMe method, such as disk space, has be acquired or accounted for before calling logAndUnDo.
      Parameters:
      xact - the transaction that is affecting the undo
      operation - the compensation operation
      undoInstant - the logInstant of the change that is to be undone
      in - optional data
      Returns:
      LogInstant that is the LogInstant of the compensation operation
      Throws:
      StandardException - Standard Derby error policy
    • flush

      void flush(LogInstant where) throws StandardException
      Flush all unwritten log record up to the log instance indicated to disk.
      Parameters:
      where - flush log up to here
      Throws:
      StandardException - cannot flush due to sync error
    • flushAll

      void flushAll() throws StandardException
      Flush all unwritten log to disk
      Throws:
      StandardException - cannot flush due to sync error
    • reprepare

      void reprepare(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt) throws StandardException
      During recovery re-prepare a transaction.

      After redo() and undo(), this routine is called on all outstanding in-doubt (prepared) transactions. This routine re-acquires all logical write locks for operations in the xact, and then modifies the transaction table entry to make the transaction look as if it had just been prepared following startup after recovery.

      Parameters:
      t - is the transaction performing the re-prepare
      undoId - is the transaction ID to be re-prepared
      undoStopAt - is where the log instant (inclusive) where the re-prepare should stop.
      undoStartAt - is the log instant (inclusive) where re-prepare should begin, this is normally the log instant of the last log record of the transaction that is to be re-prepare. If null, then re-prepare starts from the end of the log.
      Throws:
      StandardException - Standard exception policy.
    • undo

      void undo(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt) throws StandardException
      Undo transaction.
      Parameters:
      t - is the transaction performing the rollback
      undoId - is the transaction ID to be rolled back
      undoStopAt - is where the log instant (inclusive) where the rollback should stop.
      undoStartAt - is the log instant (inclusive) where rollback should begin, this is normally the log instant of the last log record of the transaction that is to be rolled back. If null, then rollback starts from the end of the log.
      Throws:
      StandardException - Standard Derby error policy