Reconnecting to SMSVSAM for RLS access

As on a warm restart, CICS connects to the SMSVSAM server. In addition to notifying CICS about lost locks, VSAM also informs CICS of the units of work belonging to the CICS region for which it holds retained locks. See “Lost locks recovery” on page 89 for information about the lost locks recovery process for CICS.

CICS uses the information it receives from SMSVSAM to eliminate orphan locks.

RLS restart processing and orphan locks

CICS emergency restart performs CICS-RLS restart processing during which orphan locks are eliminated. An orphan lock is one that is held by VSAM RLS on behalf of a specific CICS but unknown to the CICS region, and a VSAM interface enables CICS to detect units of work that are associated with such locks.

Orphan locks can occur if a CICS region acquires an RLS lock, but then fails before logging it. Records associated with orphan locks that have not been logged cannot have been updated, and CICS can safely release them.

Note: Locks that fail to be released during UOW commit processing cause the UOW to become a commit-failed UOW. CICS automatically retries commit processing for these UOWs, but if the locks are still not released before the CICS region terminates, these also are treated as orphan locks during the next restart.

Recreating non-RLS retained locks

Recovery is the same as for a warm restart. See “Recreating non-RLS retained locks” on page 54 for details.

Temporary storage

Auxiliary temporary storage queue information for recoverable queues only is retrieved from the warm keypoint. The TS READ pointers are not recovered and are set to zero.

If a nonzero TSAGE parameter is specified in the temporary storage table (TST), all queues that have not been referenced for this interval are deleted.

Transient data

Recovery of transient data is the same as for a warm start, with the following exceptions:

vNon-recoverable queues are not recovered.

vPhysically recoverable queues are recovered, using log records and keypoint data. Generally, backing out units of work that were in-flight at the time of the CICS failure does not affect a physically recoverable TD intrapartition data set. Changes to physically recoverable TD queues are committed immediately, with the result that backing out a unit of work does not affect the physical data set. An exception to this is the last read request from a TD queue by a unit of work that fails in-flight because of a CICS failure. In this case, CICS backs out the last read, ensuring that the queue item is not deleted by the read. A further exception occurs when the read is followed by a “delete queue” command. In this case, the read is not backed out, because the whole queue is deleted.

Chapter 6. CICS emergency restart 63

Page 75
Image 75
IBM SC34-7012-01 manual Reconnecting to Smsvsam for RLS access, RLS restart processing and orphan locks