Independent actions that result in heuristic decisions

Some independent actions can develop into heuristic decisions when both of the following conditions are true:
  • The participant database server already sent a can commit message to the coordinator and then rolls back.
  • 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 database servers and rolled back by another). The database becomes inconsistent.

The following two heuristic decisions are possible:

After a heuristic rollback or end transaction occurs, you might be required to perform manual recovery, a complex and time-consuming process. you must understand heuristic decisions fully in order to avoid them. Always be wary of running onmode -z or onmode -Z within the context of two-phase commit.