Previous Topic: Overview of CICS Delay TypesNext Topic: CICS Summary Statistics


CICS Storage Control Delays

The various types of CICS storage control delays, and the possible reasons for them are described next.

CICS DSA
USER DSA
CICS EDSA
USER EDSA
CUSHION

Any of these delays can occur when a CICS region is stressed on storage. The two most important reasons for extended storage waits occur when the program or one of its subroutines issues an unconditional GETMAIN for storage and the request is for either

This section describes the various types of CICS file control delays, and the possible reasons for them.

VSAM buffer

The application is waiting for a VSAM buffer that is controlled with CICS file control table definition parameters.

Resolve this type of delay by increasing the number of buffers defined in the file control table.

VSAM Upgrade set

The application is attempting to read a record by using a VSAM path while another application is updating the record.

File control state change

The application is attempting to change the state of a file resource, but another task is still using the file.

VSAM I/O

The application is waiting for VSAM I/O to finish. Another job or task in the system can be updating the same file and preventing the CICS I/O from completing its processing.

VSAM String wait

The application is waiting for a VSAM string that the program or one of its subroutines is allocating to request data from a VSAM file.

VSAM file recovery failed

The file recovery failed. Because file recovery is handled by IBM routines, resolve file recovery wait problems with your systems programmer.

Shared resource

The application has requested a MASSINSERT operation and is waiting for a VSAM transaction ID to become available.

VSAM exclusive control

The application has attempted to update a VSAM file and requires exclusive control of a VSAM control interval to complete the update. This type of delay indicates a high level of concurrency of transactions that require access to the same records in the CICS system.

This section describes the various types of CICS journal control delays, and the possible reasons for them.

Subtask

The application is waiting for journal control to submit the archiving jobs to archive the journals.

Available ECB

The application is waiting for a logical ECB. Only a specified number of ECBs is available to journal control, and the wait is due to extensive journaling activity.

Allocate more ECBs by increasing the number of journals allocated to CICS.

Buffer unavailable

The application has issued a journal request and the buffer is nearly full, or the journal is unavailable because of a volume switch.

Flushing buffer

The application is requesting a journal close and is flushing the buffers.

I/O block

The application has issued a journaling request with the WAIT option and is suspended until the I/O completes processing.

I/O complete

The application has issued a CLOSE request for a journal and is waiting for all active I/O operations to finish before completing the CLOSE request.

JACD Get

The application has issued an inquiry request for a journal and the state of the journal is changing, due to switching from one journal to another. An extended delay might indicate that a journal I/O problem exists.

JACD Put

The application has issued a journal request and the state of the journal is changing, due to switching from one journal to another. An extended delay might indicate system I/O problems.

Switch wait reason

The application has issued a journal switch and is waiting for data to be written to the journal before the request can be honored. It is essentially an I/O wait.

Close done reason

The application is waiting is for the OPEN/CLOSE subtask to complete a close request. The application cannot influence this type of delay.

Detach

A task has requested shutdown and is waiting for the detaching of the journal subtask from the operating system. The application cannot influence this type of delay.

Ready

An outstanding write to operator with reply (WTOR) is causing the application to wait. This application cannot influence this type of delay.

Request done

The application is waiting for an OPEN or CLOSE request that another CICS task issued.

Switch

A system-related delay that the application cannot influence has occurred.

Tape2

A system-related delay that the application cannot influence. This delay indicates that a journal tape has been opened with an open ahead request and is not ready for I/O.

This section describes the types of CICS temporary storage delays, and the possible reasons for them.

Auxiliary storage

An application has attempted an unconditional write to temporary storage but sufficient auxiliary storage is unavailable.

Determine if the application is attempting to place a piece of temporary storage, which is too large, to the facility.

Buffer

The application has attempted to write to temporary storage and all buffers are in use.

Increase the number of temporary storage buffers by altering the buffer specification in the TS initialization parameter of the CICS system.

Extend

An application has made a request to extend temporary storage but some other task made the same request. A long delay might indicate a device or VSAM problem.

I/O

The application has made a request to temporary storage and is waiting for I/O completion.

Queue

Indicates one of the following reasons:

The application has made a request to the temporary storage queue, but the queue is already in use by another task that has a lock on the queue.

Many transactions might be using the same temporary storage queue, or the same transaction has many instances running in parallel.

VSAM string

The application has made a temporary storage request and is waiting for a VSAM string.

Activity keypoint

The application is waiting for activity keypointing to complete processing. The delay can be significant when there are many temporary storage queues.

This section describes the various types of CICS program control delays, and the possible reasons for them..

Loader

Indicates one of the following reasons:

The application has made a request to load another program into storage and the task has been suspended.

If the application is loading the program for the first time, the delay is related to the I/O required to move the program into storage.

This section describes the various types of CICS terminal control delays, and the possible reasons for them.

Terminal I/O

The application has issued a request to read or write data to a terminal and the task is waiting until the operation completes processing.

DFHZGET failure

Indicates one of the following reasons:

The application has requested terminal control and is waiting for completion of an internal storage control operation.

Increase the amount of storage available for the CICS region.

LU62

Indicates one of the following reasons:

The application has requested terminal control to perform an operation and an error occurred during the VTAM operation.

The application cannot influence this system-related delay.

This section describes the various types of CICS DL/I resources delays, and the possible reasons for them.

PSB schedule lock

Indicates one of the following reasons:

The application is waiting for the PSB because another task has a lock on the PSB.

Too many tasks are attempting to access the same PSB.

No DL/I thread

The application has made a request for DL/I data and no DL/I threads are available. A DL/I thread is required to access data within IMS databases.

Increase the number of DL/I threads by modifying the CICS initialization parameters.

Termination request

The application is in termination but another task has requested the scheduling of a PSB. The application waits until the other task completes scheduling.

No PSB space

Indicates one of the following reasons:

The application has made a DL/I request and there is no PSB pool space available.

The task has obtained a DL/I thread but the attempt to load the PSB into the pool failed because other tasks performing DL/I are using the space.

No DMB space

Indicates one of the following reasons:

The application has made a DL/I request and no DMB pool space is available.

The task has obtained a DL/I thread and the PSB has been loaded. The attempt to load the DMBs, referenced in the PSB, into the pool failed because other tasks performing DL/I are using the space.

DL/I PSB/DMB load

A hardware error occurred when the application attempted to load a PSB or DMB.

DBCTL user wait

The application has made a DL/I request and is waiting for the DBCTL address space to service the request.