Using IMS 13 OTMA Client Descriptor for Message Flood Control
When an IMS Connect client application issues a large number of transaction requests to IMS in a short period of time, and IMS doesn’t have enough system resources to process the requests, a message flood condition can result. Message floods are a potential source of problems, including IMS system outages. One of the best ways to prevent a message flood from disrupting your IMS system is to use the flood-control attributes of the Open Transaction Manager Access (OTMA) client descriptor.
The OTMA client descriptor defined in DFSYDTx member of the IMS.PROCLIB (procedure library) data set, which is read and initialized by IMS during startup, can consist of multiple descriptor entries. Each entry starts with an “M” in the first column of the descriptor, followed by the client name (starting in column 3) and optional attributes (starting in column 20):
M client-name optional-keywords
The client-name is a 1- to 16- character OTMA client name, and the optional keywords can be any of the following:
- DRU= Sets the destination routing exit routine name for delivering OTMA ALTPCB output messages
- T/O= Sets the output acknowledgment timeout value
- TODUMP= Specifies whether OTMA creates a symptom memory dump and DFS554A message after a U0243 pseudo-abend for an OTMA transaction expiration
- ALTPCBE= Specifies whether the OTMA shared queues ALTPCB output from the back-end IMS system must be delivered to the OTMA client
- INPT= Sets the maximum number of OTMA transaction instant blocks (TIBs) created for OTMA input messages
- MAXTP= Sets the maximum number of OTMA TPIPE blocks created for OTMA messages
- MAXTPRL= Shows the relief level, which is specified as a percentage of the value of MAXTP
- MAXTPBE= Specifies whether MAXTP monitoring is ignored at the shared queues back-end IMS
You can enable flood control in the client descriptor by using the parameters INPT, MAXTP, MAXPTRL and MAXTPBE. The MAXTP, MAXTPBE and MAXTPRL keywords are enabled only with IMS version 13 APAR PM78756. The following examples demonstrate how to use the descriptor to prevent message floods.
In Code Sample 1, the client descriptor for CLIENT1 specifies 1,000 to be the maximum number of TIBs for input messages. Once this threshold is reached for CLIENT1, any new messages from CLIENT1 are rejected. The threshold for CLIENT2 is set to 2,000 TIBs. For CLIENT3, setting the INPT value to zero indicates the number of YTIBs isn’t monitored or restricted. No input message flood checking will be performed for CLIENT3. Lastly, use DFSOTMA (the system client name) to specify the global TIB threshold for all of the OTMA clients (CLIENT1, CLIENT2 and CLIENT3). Setting INPT to 12,000 for DFSOTMA means that the total number of TIBs in this IMS system cannot exceed 12,000. Once the global threshold is reached, no new OTMA input messages are accepted from any client.