Question & Answer
The Dispatcher domain in my CICS dump shows tasks in IRLINK suspends. An IRLINK suspend indicates the task is waiting for a response from a task in a connected region. How can I identify the connected task in the remote CICS region, and determine what that task it is waiting for?
In the Dispatcher domain's Task Summary, note the task# and SYSID for each task you are investigating. (The Dispatcher domain can be formatted with IPCS using VERBX DFHPDxxx 'DS=1' where xxx is your release level of CICS like 690 for CICS TS 5.2).
The task number is the last 5 numbers in the XM_TXN_TOKEN (prior to the character 'C'). The SYSID is the first 4 characters of the Resource Name, and is the ID of the system that the tasks are waiting for a response from. (You will also need a dump of this other region(s), taken at the same time).
The Dispatcher Task summary will look something like this:
For the first task in this example, task# 27229 is suspended on resource IRLINK SYS1S005, waiting for a response from connected region, SYS1. (The 4 characters following the SYSID, like 'S005', are the TERMID of the associated link TCTTE owned by this task, for this particular region).
Format the Recovery Manager (RM) domain with VERBX DFHPDxxx 'RM=3'.
Do a FIND command for the task number you are investigating. For this example, a FIND 27229 command would get a hit in the Unit of Work Summary, like this:
Note the UOW Address for your task, then do a FIND command for this UOW address. Repeat FIND commands (F5) will locate the associated RMUW control block for this task. For this example, a repeated FIND 37497030 command finds the RMUW which starts like this:
The RMUW header includes the Network UOW ID which is what you can use to locate connected tasks in dumps of remote regions. Once you have the Network UOW ID of the task you're investigating, you should format the dump of the connected CICS region.
In the dump of the connected CICS region, start by formatting the Recovery Manager domain again (VERBX DFHPDxxx 'RM=3'). If you have multiple jobs in the same dump, you can select a specific job for formatting with IPCS command VERBX DFHPDxxx 'RM=3,JOB=cicsjob' where cicsjob is the name of the job you want to format.
Once you have formatted the Recovery Manager domain in the connected job, do a FIND command on the Network UOW ID you found previously.
Once you find the RMUW control block with the matching Network UOW ID, copy the UOW Address and do a FIND on your UOW Address from the top of the RM domain output. (The IPCS command TOP will get you back to the top of the formatted output). You should find the associated task in the RM: Unit of Work Summary identifying the Tran Num and Tran ID. Once you have the transaction #, you can format the Dispatcher domain (VERBX DFHPDxxx 'DS=1') and determine the status of the connected task.
Note that you can dump more than one CICS job simultaneously with an MVS command like this:
R yy SDATA=(ALLNUC,PSA,SQA,CSA,LPA,TRT,LSQA,RGN),END
where dumpname is the name you want to give the dump, yy is the reply ID, and cicsjobx is the jobname of the CICS region(s) you want to dump. If you need additional help getting these dumps, see Collect troubleshooting data for ISC problems in CICS TS for z/OS or Collect troubleshooting data for MRO problems in CICS TS for z/OS.
CICS/TS CICSTS CICS TS CICS Transaction Server
09 April 2015