Heuristic completion of prepared transactions

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

Online Save

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.

Adabas shutdown- ADAEND

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 

Adabas shutdown- HALT

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.