Interface Logger
-
- All Known Implementing Classes:
FileLogger
public interface Logger
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
flush(LogInstant where)
Flush all unwritten log record up to the log instance indicated to disk.void
flushAll()
Flush all unwritten log to diskLogInstant
logAndDo(RawTransaction xact, Loggable operation)
Log the loggable operation under the context of the transaction and then apply the operation to the RawStore.LogInstant
logAndUndo(RawTransaction xact, Compensation operation, LogInstant undoInstant, LimitObjectInput in)
Log the compensation operation under the context of the transaction and then apply the undo to the RawStore.void
reprepare(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt)
During recovery re-prepare a transaction.void
undo(RawTransaction t, TransactionId undoId, LogInstant undoStopAt, LogInstant undoStartAt)
Undo transaction.
-
-
-
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 changeoperation
- 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 undooperation
- the compensation operationundoInstant
- the logInstant of the change that is to be undonein
- 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-prepareundoId
- is the transaction ID to be re-preparedundoStopAt
- 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 rollbackundoId
- is the transaction ID to be rolled backundoStopAt
- 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
-
-