IBM Support

CICS SOS during CBAC job execution

Question & Answer


Question

Why is my CICS region encountering a short on storage (SOS) in the EDSA during CICS Batch Application Control LIST FILE(*) command batch execution? CBAC mirror taskid requested 40+ MB which is available in EDSALIM but somehow region goes into SOS until task abended AEXY.

The batch job gets the following messages:

CBKDC8008E identifier Unknown error received from region applid during EXCI request. Error codes: 0000000C 000001A6 00000000

CBKFM9202I CICS Batch Application Control for z/OS message table loaded. Language=ENU.
CBKFI7101I identifier File maintenance utility initialization complete: MAB=23951000
CBKFM7009I Requests will be serviced in CICS mode. CICS applid is applid.
LIST FILE(*)

CBKFM7317E Unknown EXCI error. Review applid CICS log for more information.

Answer

In this specific instance where the CBAC batch File Maintenance Utility job issues a LIST FILE(*) command to retrieve all file information, the CICS file owning region (FOR) has thousands of files. The users batch workflow requires that all file information is returned in a single command. The CBAC MAXDOWNLOADPAGES is configured in the batch job to specify 9999 (4096*9999)=40M so the CBAC mirror task attached in the CICS FOR issues a CICS GETMAIN for EUDSA of 40M to hold the file information.

The CBAC Distributed program link (DPL) progam is limited to 32K Commarea for the reply, so the MAXDOWNLOADPAGES area is written to a CICS temporary storage queue and the initial CBAC mirror task returns to the batch job indicating there is more data to retrieve. The batch job does another DPL for 32K which attaches another mirror task. This new mirror does not need to acquire a 40M MAXDOWNLOADPAGES area but just reads the TSQUEUE and returns another 32K commarea chuck to the batch job. This flow will continue to attach mirror tasks to return each 32K chunk until all the file data has been returned.

This CICS FOR also has TRANISO=YES for transaction isolation configured. The result of the initial 40M GETMAIN and then any smaller GETMAIN requests from subsequent mirrors leads to a fragmented 40M area of CICS EUDSA so another 40M area must be acquired for a new CBAC batch job that needs LIST FILE(*) processing. Overtime, the CICS EDSA becomes fragmented, so although statistics show over 80% free, there are no more 40M contiguous areas to satisfy new CBAC batch mirror tasks and the CICS FOR goes short on storage (SOS).

The CICS Batch Application Control for z/OS 1.1.1 documentation in topic CICS BAC request server processing describes how the CBAC DPL mirror processes 32K commareas.

A Request-For-Enhancement (RFE) has been submitted to request a redesign of the CBAC DPL mirror to avoid storage fragmentation. If you would like to increase the chances of this enhancement request being completed, click on RFE 85419 then signon using your IBMid, scroll to the bottom of the page, and click on "vote" to vote for it.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSWHM2","label":"CICS Batch Application Control for z\/OS"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Component":"","Version":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICSBAC CICS BAC

Document Information

Modified date:
30 March 2016

UID

dwa1259017