TMF Application Programmer's Guide (G06.26+)

TMF ARLIB2 Audit-Reading Procedures
HP NonStop TMF Application Programmer’s Guide—522419-005
5-14
Distributed Transactions
Figure 5-2. Layered Offspring Relationships
In Figure 5-2, the transaction again begins at node \A. The requestor running in node
\A sends work-request messages to servers in nodes \B and \C. The server in node \C
sends a further work-request message to a server in node \D. The processes in all
four nodes generate updates to audited data files. When the requestor in node \A is
ready to commit the transaction, a phase one commit message is sent to nodes \B
and \C.
When node \B is ready for the transaction to be committed, the audit on node \B is
flushed to disk and a reply is sent back to node \A. Before it can commit the
transaction, node \C must first ascertain that its child at node \D is prepared to commit.
After node \D flushes its audit and replies to node \C, the audit on node \C is flushed
and node \A is notified that node \C is ready to commit.
Once node \A receives positive replies from both of its children, the transaction
commits on node \A and a message is sent to the offspring in nodes \B and \C telling
them that the transaction is to be committed. Then nodes \B and \C commit the
transaction and node \D is notified that the transaction is to be committed. Finally, the
transaction commits on node \D.
Node
Begin
transaction
End
transaction
c1r
r
U
C
c2
U
Pr1
C
rU
P
r1
C
U
Pr1 C
c1 c2
c1
c2
Messages
r request
c1 commit phase 1
r1 reply to c1
c2 commit phase 2
Audit Records Generated
C commit
P network prepared
U update
\A
\B
\C
\D
VST006.vsd