0.20.1: Transaction identifiers and states

The following identifiers are used to track transactions:

The administrator tracks transactions through the following states:

Active
Indicates that transaction processing is still in progress.
Committed
Indicates that a transaction has been committed and the effects of the transaction have been made permanent.
Committing
Indicates that a transaction is in the process of committing (that is, the transaction has started committing but has not completed the process).
Marked Rollback
Indicates that a transaction is marked to be rolled back.
No Transaction
Indicates that a transaction does not exist in the current transaction context.
Prepared
Indicates that a transaction has been prepared but not completed.
Preparing
Indicates that a transaction is in the process of preparing (that is, the transaction has started preparing but has not completed the process).
RolledBack
Indicates that a transaction has been rolled back.
RollingBack
Indicates that a transaction is in the process of rolling back (that is, the transaction has started rolling back but has not completed the process).
Unknown
Indicates that the status of a transaction is unknown.

When a transaction commits, all actions associated with that transaction are written to a log. In the event of system problems, those actions are repeated if necessary when the system's recovery mechanism replays the log.

When a transaction aborts, any changes made by the transaction are undone. After a transaction is undone (rolled back), no evidence that the transaction was ever attempted remains outside of records in the transaction processing system's log.