TMF Application Programmer's Guide (G06.24+)
Designing Single-Threaded Processes
HP NonStop TMF Application Programmer’s Guide—522419-004
2-6
Checkpointing Strategy
Checkpointing Strategy
Within the TMF programming environment, requesters can be coded as NonStop
process pairs so that the backup process will take over automatically if the primary
process should fail.
A full discussion of the design of NonStop process pairs is beyond the scope of this
manual. The topics that follow do, however, present some requirements that TMF
imposes upon the use of checkpoints and a strategy for the most effective placement
of checkpoints within the primary requester process.
The Transaction Pseudofile (TFILE)
Every TMF requester process has its own transaction pseudofile, called a TFILE. The
TFILE is not a physical I/O device file; it is never the target of actual I/O operations.
Instead, the TFILE’s access control block (ACB) serves as a mechanism whereby TMF
can represent the state of transactions in a form that resembles a file.
Each entry in a TFILE corresponds to a single transaction and includes the transaction
identifier and a status descriptor. The status descriptor is used at the completion of the
transaction to indicate whether the transaction was committed or aborted.
For single-threaded requesters, the TFILE has only one entry: when the primary
requester process issues a BEGINTRANSACTION call, the entry in the TFILE for the
preceding transaction is overwritten by the information about the new transaction.
For single-threaded requesters that are not using checkpoints, the file system
automatically creates a TFILE that contains one entry when the requester first calls
BEGINTRANSACTION. Such requesters can ignore the existence of the TFILE
altogether.
If a requester is the primary process of a NonStop process pair, however, it must
explicitly open the TFILE and then execute a CHECKOPEN call to create the backup
requester’s copy of the TFILE.
96 Transaction duration surpassed autoabort timeout interval
97 One of the following occurred:
•
Application requested abort
•
File system initiated abort
•
Server process involved in transaction failed
•
Unknown miscellaneous error occurred
1116 NonStop SQL/MP subsystem initiated abort
Table 2-2. Unilateral Abort Error Numbers (page2of2)
Number Cause of Error