Forced transaction commit – HP Integrity NonStop J-Series User Manual
Page 65
Configuring Automatic Transaction Processing
HP NonStop AutoTMF Software User’s Guide—429952-016
4-17
Forced Transaction Commit
Providing transaction isolation controls to prevent a unilateral abort from affecting
external users or database consistency; see the preceding subsection
Providing an AUTOCOMMIT option that allows you to force all outstanding
automatic transactions to be committed before the process abends, to avoid
reaching the TMF AutoAbort time limit. See subsection
below for details.
Unilateral aborts caused by hardware or system failures should be rare.
Reducing causes of unilateral aborts
To reduce other causes of unilateral aborts in production processing, perform these
tasks:
Configure TMF to handle the projected transaction load.
If programs hold record locks and file locks for long periods, alter the TMF
AutoAbort parameter to avoid aborting long-running automatic transactions. If TMF
version 3.6 or later is running in your system, another option is to configure a
timeout for automatic transactions. See
Avoid using the TACL STOP and the PATHWAY SHUTDOWN2 MODE
IMMEDIATE commands unless you know that the programs being stopped do not
have pending transactions. Use the
command to externally stop
server processes that are reading $RECEIVE
Forced Transaction Commit
As mentioned in the paragraph
that normal unaudited locking protocols are preserved in order to maintain the integrity
of the program logic. AutoTMF assumes that programs are locking and unlocking
records as needed to process a business transaction or unit of work. Automatic
transactions are therefore not committed if a program is holding a lock on a record or a
file.
The case where a program does not conform to the unaudited locking protocol
presents a problem. If a program fails to unlock a record or a file, the locks prevent
AutoTMF from committing automatic transactions. To deal with such situations,
AutoTMF issues a warning in the EMS log to notify the operator of the long running
transaction , if a transaction runs longer than 5 minutes. By default, the warning is
repeated every 5 minutes, until the transaction is committed. You can change the
frequency of the warning messages, or suppress them, by setting the file or program
attributes WARNLONGTX or the global parameter ATMFWARNLONGTX.
Eventually, a long running transaction can reach the TMF AutoAbort limit, at which
point the transaction is unilaterally aborted and all uncommitted updates are rolled
back, causing potentially irrecoverable data loss.