beautypg.com

Transaction isolation, Nowait transactions – HP Integrity NonStop J-Series User Manual

Page 55

background image

Configuring Automatic Transaction Processing

HP NonStop AutoTMF Software User’s Guide429952-017

4-7

Transaction Isolation

Excessive lock contention can be reduced through proper NonStop AutoTMF
configuration, but changes in the configuration may cause more frequent transactions
and a corresponding increase in processing requirements.

Transaction Isolation

Transaction isolation influences the duration of automatic transactions to reduce the
effect of automatic transactions outside the process that started them. There are three
levels of isolation:

Weak isolation commits active automatic transactions whenever a server process
waits for or replies to a request on $RECEIVE. The default isolation mode is weak
isolation, which is sufficient for most applications and provides the best
performance; you should use weak isolation unless problems are clearly identified.

Normal isolation also commits active automatic transactions whenever a process
sends a request to a server process; normal isolation is required in applications
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, AutoTMF 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.

This manual is related to the following products: