TMF Introduction (G06.26+)
Transaction Protection and Database Recovery
HP NonStop TMF Introduction—522414-002
3-9
Backout for Distributed Transactions
Backout for Distributed Transactions
For a distributed transaction, loss of communication between participating computer
systems (nodes) can result in transaction backout. If a transaction cannot be
committed on all participating systems, it is backed out on all participating systems.
The transaction is backed out if a communication failure occurs at any point either
before the commit or during the phase 1 (prepare) stage of the commit.
For example, assume that communication between destination and source nodes is
lost before the transaction begins Phase 1 of committing its changes. Each node
affected by the loss of communications aborts the transaction; therefore, the
transaction’s changes are backed out and its locks are released, as illustrated in
Figure 3-4.
Another example is failure during Phase 1 of the commit. Phase 1 is the prepare
stage: the commit for the transaction is issued on the local node, and all participating
transaction managers and resource managers are asked to prepare to commit. Phase
1 may fail because either the communication path with a participating node transaction
manager or resource manager is broken or a participating node replies that it cannot
commit the transaction. When Phase 1 fails, the transaction is aborted and backed out
on all nodes participating in the transaction.
Figure 3-4. Network Backout
Tran-SF1000 at \SANFRAN
Begin transaction.
...
I/O to data at \LONDON
...
End transaction.
Participate in Tran-SF1000
01 Reply message fails
Backs out the
transaction
01 Send prepare message
01 Detects failure
Backs out the
transaction
Tran-SF1000 at \LONDON
Transaction operations that are transparent to the application.
VST116.vsd
AUDIT AUDIT
Database
Database