Database write errors
An IMS application program is unaware of a database write error. IMS does not pass a return code to the application program after a write operation completes or fails to complete.
Instead, when a write error occurs, IMS creates an extended error queue element (EEQE), allocates a buffer for the block or control interval in error, and writes a log record with information about the buffer.
IMS uses the buffer for all subsequent I/O to the block or CI, including database updates and read requests. When IMS closes the database, it retries the original write operation that failed; if it is successful, IMS frees the buffer, removes the corresponding EEQE from DBRC, and notifies all subsystems to disregard their corresponding EEQEs.
There is a limit to the number of EEQEs that IMS can create. For Fast Path areas, an area is stopped after 100 EEQEs. For full-function databases, the limit is 32,767 EEQEs. Before encountering this limit, you would likely encounter virtual storage limitations for the buffers needed to write that many EEQEs.
You can defer recovery for weeks or longer, but deferring recovery too long can increase the time that IMS requires to perform the recovery.
IMS notifies DBRC of each EEQE; DBRC records each EEQE in the DBDS record of the RECON data set.