Interface Logger

  • All Known Implementing Classes:
    FileLogger

    public interface Logger
    • Method Detail

      • 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
      • 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