Commitment control errors
When you use commitment control, it is important to understand which conditions cause errors and which do not.
In general, errors occur when commitment control functions are used inconsistently, such as running an End Commitment Control (ENDCMTCTL) command when files that use the commitment definition are still open.
Errors during commit processing
If a communications or system failure occurs during a commit operation, resynchronization might need to be performed to ensure that the transaction managers keep the data consistent on all the systems involved in the transaction. The behavior of the resynchronization and how it affects the commit operation depends on these factors :
- The Wait for outcome commitment option.
- The state of the transaction.
If the failure is catastrophic such that it can never be repaired, or it cannot be repaired in a timely manner, the system operators for other systems involved in the transaction must make a heuristic decision. The heuristic decision commits or rolls back the changes made on that system during the transaction. If the failure is repaired after such a decision, and the resynchronization detects that the decision caused data integrity problems, message CPD83D9 or CPD83E9 is sent to the QSYSOPR message queue.
- Error conditions
If an error occurs, an escape message that you can monitor for in a program is sent.
- Nonerror conditions
Here are some situations for commitment control in which no errors occur.
- Error messages to monitor during commitment control
Several different error messages can be returned by the commit or rollback operations or sent to the job log, depending on the type of message and when the error occurred.
- Monitoring for errors after a CALL command
When a program that uses commitment control is called, monitor for unexpected errors and perform a rollback operation if an error occurs.
- Failure of normal commit or rollback processing
Errors might occur at any time during commit or rollback processing.
Parent topic:
Troubleshooting transactions and commitment control
Related concepts
Commitment definition for two-phase commit: Not wait for outcome
States of the transaction for two-phase commitment control