Incorrect behavior, Long-running transactions – HP NonStop G-Series User Manual

Page 204

Advertising
background image

Problem Resolution

HP NonStop AutoTMF Software User’s Guide429952-014

C-4

Incorrect Behavior

Long-Running Transactions

Long-running transactions can lead to unilateral aborts if the TMF AutoAbort time limit
is reached. Unilateral aborts can have a severe impact on an application because all
non-committed updates from a process are rolled back.

Long-running transactions result from locks that are not being released by the process,
thus preventing NonStop AutoTMF software from committing the automatic transaction.
This situation is often found in cases where:

Several files are updated under the common transaction and one file or another
has a record locked at all times.

A file managed under a separate transaction has at least one record locked at all
times.

If NonStop AutoTMF software attempts to commit an automatic transaction at a point
and cannot commit the transaction, an EMS message is sent to warn the operator.

To avoid unilateral aborts due to long-running transactions, configure the AutoCommit
time limit as described in

Forced Transaction Commit

on page 4-17.

Long-running transactions are most often remedied by configuration changes such as
configuring a file as SEPARATETX or RECORDTX; however, first you must clearly
identify the cause of the long-running transaction by tracing the program.

Incorrect Behavior

If a prepared program is not returning the correct data or if its behavior has changed
unexpectedly, a logic error in the runtime library, a logic error in the application
program or a configuration problem may exist.

For example, if a program depends on the value of the file-type parameter returned by
a call to FILEINFOREC or GET_FILEINFOLIST, a change in program behavior could
occur because auditing the file changes the value returned in the file-type. In this case,
set the HIDEAUDIT file attribute to conceal that audit is set for a newly audited file.
HIDEAUDIT preserves the value of the file-type.

Otherwise, trace the program before auditing the file and again after auditing the file to
identify the source of the behavior change.

Caution. If you detect a long-running transaction, do not abort the transaction using TMF-
COM. Instead, use the Escort STOP_PROCESS command. An operator abort eventually
results in a program failure and the uncommitted updates are lost. STOP_PROCESS commits
all outstanding transactions before stopping the process.

Advertising
This manual is related to the following products: