The CosTransactions module includes these exceptions:
SubtransactionsUnavailable – raised when the client thread already has an associated transaction and the transaction coordinator does not support nested transactions.
NoTransaction – raised when there is no transaction associated with the client thread.
InvalidControl – raised when the specified control is not null and not within the scope of the client thread.
Inactive – raised when a method such as rollback_only is executed on a transaction has already been prepared.
InvalidTransaction – raised when a request carries an invalid transaction context, such as if an error occurred when registering a resource.
TransactionRequired – raised when a request carries a null transaction context but required an active transaction. For example, this could occur when a component specifies the Mandatory attribute.
Unavailable – raised when the requested object cannot be returned because OTS/XA transaction coordinator restricts the availability of the object.
TransactionRolledBack – raised when a transaction is marked to roll back or has already been rolled back.
A heuristic decision is a decision to commit or roll back updates that one or more participants in a transaction make without waiting for the consensus decision from the transaction coordinator. These types of commits and rollbacks are also called heuristic commits and heuristic rollbacks. When a heuristic commit or rollback is made, the transaction can become inconsistent. Therefore, a heuristic commit or rollback is made only in unusual circumstances such as communication failures. When the System Administrator issues a heuristic commit or rollback, a heuristic exception is raised.
HeuristicMixed – Raised when a heuristic decision is made and some relevant updates are committed and others are rolled back.
HeuristicHazard – Raised when a heuristic decision may have been made, when not all of the conditions of all relevant updates is known, and for those updates whose condition is known, either all of them were committed or rolled back.
HeuristicRollback – Raised when a heuristic decision to roll back all of a transaction’s relevant updates has been made.
HeuristicCommit – Raised when a heuristic decision to commit all of a transaction’s relevant updates has been made.