Avoiding the storm drain effect

If an application avoids making calls to resource managers because it knows the connection to the resource manager is not active, or it processes an error return code as a result of the connection being unavailable, and proceeds to issue an error message and return normally rather than abend, it could delude the workload manager into routing more work to the CICS® region. This situation is called the storm drain effect.

Because the application did not abend, the workload manager believes that good response times are being achieved by this CICS region for work involving the resource manager, and therefore routes more work down the storm drain. This situation can arise for applications that use connections from CICS to DB2® , IMS , IBM® MQ and VSAM RLS.
To avoid the storm drain effect, the resource manager adapters need to inform the z/OS® Workload Manager that the request has failed. This information can then in turn be used by CICSPlex® SM Workload Management. See Abend probabilities and workload management
The resource manager adapters for the following resources inform z/OS® Workload Manager to allow CICSPlex® SM Workload Management to use its abend probability functionality, if activated, to avoid routing more work to the affected CICS region:

DB2

For connections between CICS and DB2 at the time of returning the -923 SQL return code, the CICS DB2 attachment facility informs the z/OS® Workload Manager that the request has failed. The DB2CONN definition should be configured with attributes STANDBYMODE=RECONNECT and CONNECTERROR=SQLCODE . Applications should unconditionally issue EXEC SQL requests and test for an SQLCODE of -923 rather than using an EXEC CICS EXTRACT EXIT or EXEC CICS INQUIRE EXITPROGRAM command beforehand to test to see if CICS is connected to DB2. Only when an -923 SQLCODE is returned will z/OS® Workload Manager be informed.

IMS

For connections between CICS and IMS, if the interface between CICS and IMS DBCTL is not active, applications that issue CALLDLI requests receive return codes 08FF in the UIB. At this time, the CICS-DBCTL interface informs the z/OS Workload Manager that the request has failed. For EXEC DLI requests, typically the request results in an application abend, unless the NODHABEND keyword has been used. In this situation, z/OS Workload Manager is also informed in order to avoid the storm drain effect. .

WebSphere MQ

For connections between CICS and WebSphere® MQ, if CICS has never been connected to a queue manager, then the request is rejected prior to entering the CICS- WebSphere MQ adapter, so it is not possible to avoid the storm drain effect.

When the CICS- WebSphere MQ adapter is active, if a subsequent connection failure occurs and any of the following MQI reason codes is returned, then z/OS Workload Manager is informed that the request has failed:
  • mqrc_connection_broken
  • mqrc_q_mgr_quiescing
  • mqrc_connection_quiescing
  • mqrc_connection_not_authorized
  • mqrc_q_mgr_name_error
  • mqrc_q_mgr_not_available
  • mqrc_q_mgr_stopping
  • mqrc_connection_stopping
  • mqrc_adapter_not_available

VSAM RLS

For connections between CICS and VSAM RLS, if CICS receives a response indicating an RLS failure, or RLS is disabled, or a previous RLS failure has occurred, the normal result is an AFCR, AFCS, or AFCT abend respectively. In case the abend is handled, CICS File Control informs z/OS Workload Manager that the request has failed.