Resolution of CICS indoubt units of recovery
The resolution of indoubt units of recovery has no effect on CICS® resources.
CICS is in control of recovery coordination and, when it restarts, CICS automatically commits or backs out each unit of recovery, depending on whether an end-of-unit-of-work log record exists. The existence of indoubt work does not lock CICS resources until Db2 connects.
A process to resolve indoubt units of recovery is initiated during startup of the attachment facility. During this process:
- The attachment facility receives a list of indoubt units of recovery for this connection ID from the Db2 participant and passes them to CICS for resolution.
- CICS compares entries from this list with entries in its own list. CICS determines from its own list what action it took for the indoubt unit of recovery.
- For each entry in the list, CICS creates a task for the attachment facility, specifying the final commit or abort direction for the unit of recovery.
- If Db2 does not have any indoubt unit of recovery, a dummy list is passed. CICS then purges unresolved units of recovery from previous connections, if any exist.
If the units of recovery cannot be resolved because of conditions described in CICS message DFHDB2035, CICS enables the connection to Db2. For other conditions, it sends CICS message DFHDB2016 and terminates the connection.
For all resolved units of recovery, Db2 updates databases as necessary and releases the corresponding locks. For threads that access offline databases, the resolution is logged and acted on when the database is started. Unresolved units of work can remain after restart; you can then resolve them.