0.20.1: Transaction identifiers and states
The following identifiers are used to track transactions:
- A local transaction identifier (TID) is an identifier for a transaction in a specific
server. It is known only to that server.
- A global TID ties a transaction to all of its participating applications across
different servers. The global TID is unique across all servers.
- An application TID identifies a participating application.
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.