Troubleshooting data for coupling facility data table server problems

CICS® MustGather for coupling facility data table (CFDT) server problems

CFDT problems have three main types:
  • A DFHCFnnnn message, which indicates you have a CFDT problem. For more information, see CICS messages.
  • Various types of waits that occur when CICS accesses a CFDT. See Investigating file control waits for resource types that start with CFDT and possible causes for the waits.
  • Retained locks that arise from failures during updates to recoverable CF data table records. See Coupling facility data table retained locks for causes of the retained locks.

Gather the following diagnostic information before contacting the CICS support team to troubleshoot your CFDT server problems.

Required data:
  1. The CICS message log and the MVS™ system log (SYSLOG).
  2. The SYSPRINT log for the CFDT server. Most of the same information is visible in the MVS system log, but the SYSPRINT log might contain statistics and some other informational messages, for example, the options that were used during start-up.
  3. If you receive a message and can re-create the problem, take a SLIP dump of the CICS region or regions and of the CFDT list structure, at the time that the message occurs. Set the SLIP by using the following MVS command and then re-create the problem:
    SLIP SET,MSGID=DFHCFnnnn,ACTION=SVCD,
    STRLIST=(STRNAME=DFHCFLS_poolname,ACC=NOLIM,
    (LISTNUM=ALL,ADJ=DIRECTIO,EDATA=UNSERIALIZE)),
    JOBLIST=(cf-server,XCFAS,cicsjob),
    SDATA=(RGN,XESDATA,ALLNUC,CSA,LSQA,PSA,SQA,SUM,SWA,TRT,
    COUPLE,WLM,GRSQ,LPA),MATCHLIM=1,ID=CIC1,END

    where:

    DFHCFnnnn
    Specifies the message you receive.
    poolname
    Specifies your CFDT pool.
    cf-server
    Specifies your CFDT server.
    cicsjob
    Specifies the job name for your CICS region.

    A dump of the pool is rarely needed by IBM®, so you can exclude STRLIST=(...(...)) from the SLIP command if you are concerned about dump size.

    If the pool structure becomes full unexpectedly, a dump with STRLIST=(...(...)) can help determine what fills up the pool. If you want to dump the pool only, see Dumping a CFDT list structure for instructions. You can also use the server command DISPLAY TABLE=name to determine the number of records in a specific table. For more information, see DISPLAY and PRINT command options.

  4. If there is a wait or hang, take an MVS system dump of the CICS region or regions and the CFDT list structure as soon as you notice the hang or wait. For more information, see Using dumps for CICS problem determination on z/OS®. Use the following MVS command followed by the reply to capture the dump:
    DUMP COMM=(dumpname)
    R yy,JOBNAME=(cicsjob),
    STRLIST=(STRNAME=DFHCFLS_poolname,ACC=NOLIM,
    (LISTNUM=ALL,ADJ=DIRECTIO,EDATA=UNSERIALIZE)),
    SDATA=(RGN,XESDATA,ALLNUC,CSA,LSQA,PSA,SQA,SUM,SWA,TRT,
    COUPLE,WLM,GRSQ,LPA),END

    where:

    dumpname
    Specifies the name you want to give to the dump.
    yy
    Specifies the reply identifier.
    cicsjob
    Specifies the job name for your CICS region.
    poolname
    Specifies your CFDT pool.

    A dump of the pool is rarely needed by IBM, so you can exclude STRLIST=(...(...)) from the dump command if you are concerned about dump size.

    If a request is made to wait because of a lock conflict, the CFDT server provides detailed information about what it is waiting for to the CICS wait exit. The server provides this information by completing fields in the parameter list structure for the original request and setting the "lock busy" response during the wait. If the CICS transaction later times out, this information is displayed in message DFHKE0003. There is no way of seeing this information before the transaction times out.

  5. The CICS internal trace that is included in the MVS system dump when tracing is active. Ensure that the internal trace table size is big enough to contain sufficient data for diagnosis; for example, you can use a table size of 20480K. When possible, turn on level 1 tracing for all CICS components and level 1-2 for the FC component. For more information, see Using trace for CICS problem determination on z/OS.
Optional data:

If you receive a wait and can reproduce the problem, consider using the CICS auxiliary trace or the GTF trace with the MVS system dump. The MVS system dump alone is unlikely to show anything about system activity in the period that leads up to the wait because the trace table probably wraps before you have a chance to respond. But the CICS auxiliary trace and the GTF trace can provide you with enough trace. For more information, see Using trace for CICS problem determination on z/OS.