beautypg.com

Nowait transactions – HP Integrity NonStop H-Series User Manual

Page 52

background image

Configuring Automatic Transaction Processing

HP NonStop AutoTMF Software User’s Guide429952-013

4-8

Nowait Transactions

where both requester and servers lock or update the same records.

If processes coordinate access to the same database records (for example, one
process inserts a database record, then sends a request to a server process to
update the record), a record deadlock may occur.

Coordinated access in an unaudited database requires a process to unlock a
record before sending a server request to access that record. With automatic
transactions, however, the record lock is held until the transaction is committed and
the server may be blocked by the locked record.

Strong isolation also commits active automatic transactions whenever a process
sends a message to a device or process, or before the process updates an
unaudited file; strong isolation is required only if it is unacceptable to report an
update that might (with low probability) be later undone by a unilateral abort.

Note that regardless of the isolation setting, automatic transactions are not committed
if the application program is still holding locks because releasing locks would violate
the unaudited lock protocol and change the program’s behavior.

Nowait Transactions

To improve the performance of processes using automatic transactions, you can
configure nowait transactions. In that case, NonStop AutoTMF software issues the
ENDTRANSACTION call but does not wait for the transaction to complete. A nowait
commit allows the process to continue with other work while the transaction commits in
parallel.

For example, when server processes reply after making database updates, automatic
transactions are committed. If you do not require servers to wait for commit processing,
you can improve interactive response time, usually by a few tenths of a second.

Once a nowait transaction commit has begun, only a system-level failure can cause
the transaction to abort. Even if the process terminates or is stopped externally, a
nowait transaction commits successfully.

The only drawback to using nowait transactions is that the process continues to
perform work without knowing if a unilateral abort has occurred. A server process
replies to a requestor, but the database update operations the server process has
performed may be backed out by a system-level failure.

Batch processes that have multiple, separate, automatic transactions may have better
performance because the multiple transactions complete in parallel. The overall
performance, however, depends on the number of updates performed in each
transaction.

Each time an automatic transaction begins, any previous nowait transaction for the
same entity must be completed. Thus, a batch program that uses only the common
transaction may not benefit from nowait transactions, because the batch program
needs a new transaction as soon as the previous transaction is committed.

This manual is related to the following products: