Setting transaction time out, Transactions. see, Below – HP Integrity NonStop J-Series User Manual

Page 66

Advertising
background image

Configuring Automatic Transaction Processing

HP NonStop AutoTMF Software User’s Guide429952-016

4-18

Setting Transaction Time Out

While forcing a commit before a program has released locks is tantamount to altering
the program’s logic and would leave the program in an uncertain state, failing to
commit the transactions before reaching the unilateral abort is not an option.

To prevent the loss of data in cases where the program’s behavior could cause a
unilateral abort, AutoTMF uses a configurable AUTOCOMMIT timer. The AutoTMF
runtime monitors automatic transactions to determine if any have been active for more
than the AUTOCOMMIT time limit.

If there are outstanding automatic transactions when the AUTOCOMMIT time limit is
reached, the AutoTMF runtime takes the following actions:

1. Forces the commit of all automatic transactions,

2. Issues an EMS message,

3. Terminates the process with an abend.

The program has to be restarted but no data is lost.

To use the AUTOCOMMIT feature effectively, the time limit should be lower than the
TMF AutoAbort time limit by at least 5 minutes. The default value for AUTOCOMMIT is
115 minutes, based on the default TMF AUTOABORT time limit of 120 minutes. If you
set the TMF AUTOABORT limit to a different value, you must adjust the AutoTMF
AUTOCOMMIT accordingly (AUTOABORT - 5 minutes).

AUTOCOMMIT and Programs Waiting on $RECEIVE

When a process is waiting on $RECEIVE AutoTMF cannot check the status of
outstanding automatic transactions. In order to prevent an idle program from hitting the
TMF AUTOABORT time limit, AutoTMF sets a timer to wake the process if there is an
active automatic transaction. The timer duration is the same as the ATMFMAXTIME
global.

When a timer completes, AutoTMF checks all outstanding automatic transactions and
complete those that meet the normal commit requirements. If the AUTOCOMMIT time
limit is reached, all transactions are committed and the process is abended. Otherwise,
the read on $RECEIVE is reissued and the program reenters the wait state. All timer
processing is invisible to the application.

Setting Transaction Time Out

As mentioned in

Reducing causes of unilateral aborts

on page 4-17, some programs

might need to hold locks for a longer period than is permitted by the TMF AutoAbort
setting. An alternative to increasing the AutoAbort time limit for all transactions is
configuring a time out value for automatic transaction, provided your system is running
TMF version 3.6 or later.

To specify how long an automatic transaction can be active, set the TXTIMEOUT file or
program attribute or the ATMFTXTIMEOUT global parameter. Defining a TXTIMEOUT
value effectively sets the TMF AUTOABORT time limit, but only for a specific program,
a specific file or for all automatic transactions.

Advertising
This manual is related to the following products: