RDF/IMP and IMPX System Management Manual (RDF 1.3+)
Network Transactions
Compaq NonStop™ RDF/IMP and IMPX System Management Manual—522204-001
13-10
The Effects of Undoing Network Transactions
outcome of T
12
 and therefore must be undone.  Thus, both network and business 
consistency are maintained.
T
13
 does not, however, have to be undone even though it committed on \A after T
12
. 
Why? Because the purger on \X (the network master) determines that, although T
13
followed T
12
 on \A, the sequence for these two commits had to have been reversed on 
\B, where the commit for T
13
 preceded the commit for T
12
. Therefore, the purger 
determines that these two transactions could not have touched the same data, and T
13
does not need to be undone.
This illustrates a very important point. With network transactions, the commit sequence 
of network transactions may differ from one node to another, depending on where the 
transactions originated. For example, consider two network transactions: T
101
 and T
102
. 
Assume T
101
 originated on \M and T
102
 originated on \N. Assume further that they 
altered data on both \M and \N, and committed at the same time. The commit operation 
for T
101
 is coordinated by the TMP on \M because that is where T
101
 originated; 
similarly, T
102
 is coordinated by the TMP on \N because that is where T
102
 originated. 
Thus, on \M, the sequence of commit records on the audit trail will likely be T
101
followed by T
102
, whereas on \N it will likely be T
102
 followed by T
101
.
Note, for the following two reasons, that we can be certain T
101
 and T
102
 did not alter 
the same data:
1. Transaction record locking would have prevented these transactions from altering 
the same data.
2. The commit sequence on \M being T
101
 followed by T
102
 and the commit sequence 
on \N being T
102
 followed by T
101
 unequivocably means that these two transactions 
were active at the same time and committed at the same time. Therefore they could 
not have altered the same data.
If we return to the issue of T
13
 in the example further above, note that the commit 
sequence differs on \A and \B. When the purger on \A determines that T
12
, T
14
, and T
15
must be undone, it also determines that the results of T
13
 can be kept intact because T
13
had to have completed on \B before T
12
. Why? The commit records on \A guarantee 
that both T
12
 and T
13
 did indeed commit.  Therefore, although the commit record for 
T
12
 is missing from \B, the commit record for T
13
 is present. This guarantees that T
13
committed prior to T
12
, and that the results of T
13
 can be kept intact on both nodes.
When a purger determines that it can keep the results of a transaction even though that 
transaction follows one that must be undone because data for it is missing elsewhere, the 
purger logs an RDF 823 event message identifying the particular transaction.
Note. If you have local transactions that do not touch data involved in network transaction 
activity, and you do not want these local transactions undone just because data might be 
missing for the network transactions during a takeover operation, you are advised to configure 
separate RDF subsystems: one to protect just the data involved in network transaction activity, 
and the second to protect the non-network data. Of course, both sets of data must have no 
dependencies on the other.










