Informix Error -699
-699 Transaction heuristically rolled back.
This message is returned if all participating database servers heuristically roll back an Informix STAR two-phase commit transaction. Because all database servers rolled back the transaction, the networked database system remains consistent.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-699 fires when every participating server in an Informix STAR two-phase-commit transaction heuristically rolls back — per the official guidance, unlike -698's mixed-outcome scenario, this is a consistent result: because all participants rolled back, the networked database system remains consistent.
- Every participant independently deciding to roll back (a shared cause — a coordinator timeout affecting all participants, a widespread network issue) — the specific mechanism isn't named by the sparse official text, but the outcome (uniform rollback) is what makes this distinct from -698.
- The application's own transaction logic deciding to abort, propagating a rollback signal that reached every participant before any of them committed.
Solutions / Resolution
- No administrative intervention is required for data consistency — per the official guidance, the system remains consistent since every participant rolled back uniformly.
- The transaction simply didn't complete — retry it from the application side if the work it was attempting still needs to happen.
- If heuristic rollbacks are recurring, investigate why participants are making independent decisions rather than waiting for the coordinator — the same investigation suggested for -629, commonly a timeout setting too aggressive for the transaction's actual duration.
Examples
Retrying the transaction
-- The original distributed transaction rolled back cleanly (all
-- participants). Simply retry the application logic that initiated it.
Diagnostic Checks
- Confirm no data-consistency concern exists — per the official guidance, a uniform heuristic rollback across all participants is a consistent outcome, unlike -698.
- If recurring, review participant timeout configuration, the same investigation as for -629.
Related Errors / Related Topics
- -629 — "Cannot end heuristically rolled back transaction." A related error about ending a heuristically rolled back transaction specifically at the coordinator, rather than reporting the overall uniform-rollback outcome.
- -698 — "Inconsistent transaction. Number and names of servers rolled back - servers." The contrasting, genuinely concerning outcome: a mixed result across participants, which -699 is explicitly not.
A consistent outcome, unlike -698 — every participant rolled back uniformly, so no data reconciliation is needed; just retry the work if it still needs to happen.