9-30 IBM Informix OnLine Database Server Administrator’s Guide
Heuristic Decisions: What and Why
Independent action in and of itself does not create the need for manual
recovery. For example, if a piece of work at a participant database server is
rolled back because it developed into a long transactionand the coordinator
issues a decision to roll back the global transaction, the complete database
remains consistent and there is no problem.
However, within the context of two-phase commit protocol, some
independentactions can develop into heuristic decisions. (Refer to page 9-30.)
Independent actions create a problem only whenboth of two conditions are
true:
Theparticipant OnLine already sent a “can commit” message to the
coordinator.
The coordinator’s decision is to commit the transaction.
When both conditions are true, the net result is a global transaction that is
inconsistently implemented (committed by one or more OnLine database
servers and rolled back by another). The database system becomes incon-
sistent. An inconsistent database system requires manual recovery, if you
decide that the best course of action is to return the database system to a
consistentstate. This might not necessarily be the case. A description of how
to make this determination, and how to manually recover from an incon-
sistent global transaction, is provided onpage 9-51.
Heuristic Decisions: What and Why
Within the two-phase commit protocol, two independent actions take on
special significance:
Aheuristicrollback is an independent action taken by either tbinit or
theadministrator to roll back a piece of work that has already sent a
“can commit” message.
Aheuristic end-transaction is an independent action taken by the
administrator to roll back a piece of workand remove all information
about the transaction from the OnLine shared-memory transaction
table.