A heuristic completion (or heuristic decision) of a prepared transaction occurs when a resource manager makes a unilateral decision during the completion stage of a distributed transaction to apply or undo. Consequently the results of the distributed transaction are in an indeterminate state, not guaranteed.
Adabas RM may need to take a heuristic decision
about completing a prepared transaction during:
Note:
Adabas identifies all heuristically completed transactions with a
series of ADAN89 messages starting:
ADAN89 nnnnn 2012-01-09 11:20:46 USER HEURISTICALLY TERMINATED
When a prepared transaction remains at the end of an online save
operation for an Adabas RM the transaction is subject to the Adabas nucleus
TT parameter (or save utility
TTSYN parameter) plus an additional 60 seconds. If the
prepared transaction is not complete at the expiry of this time period Adabas
heuristically undoes the transaction which allows the online save to complete.
When a prepared transaction exists at ADAEND
the Adabas RM prompts the TM to
complete the distributed transaction according to the required outcome (apply
or undo). When the distributed transaction is complete the
TM notifies the Adabas RM to
continue ADAEND processing. However, if this
notification is not received the Adabas RM subjects the
transaction to the TT parameter plus 60 seconds. If the
prepared transaction is not complete at the expiry of this time period Adabas
heuristically commits it to allow ADAEND to proceed.
This "forced"" ADAEND will be
accompanied by the following ADAN89 message:
ADAN89 nnnnn 2PH-ADAEND : ADAEND IS FORCED
When a prepared transaction exists at HALT
time the Adabas RM heuristically undoes prepared
transactions to allow the HALT to complete. No
communication with the TM is performed.
Caution:
Under normal situations, it is strongly recommended not to use the
HALT command for an Adabas
RM.