AutoTMF Software User's Guide (Update 11)
Configuring Automatic Transaction Processing
HP NonStop AutoTMF Software User’s Guide—429952-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.










