IBM Support

ALTER CFSTRUCT fails due to the structure being in use

Troubleshooting


Problem

You want to alter an application CFSTRUCT to change from RECOVER(YES) to RECOVER(NO) because only non-persistent messages are being used. The command fails due to the structure being in use.

Symptom


CSQM101I CSQMACFS CFSTRUCT(APPLIST1) IS CURRENTLY IN USE
CSQM090E CSQMACFS FAILURE REASON CODE X'00D44005'
CSQ9023E CSQMACFS ' ALTER CFSTRUCT' ABNORMAL COMPLETION

Cause

You can only change RECOVER(YES) to RECOVER(NO) if all the queues that reference the CF structure are both empty (have no messages or uncommitted activity) and closed. The same is true for lowering the CFLEVEL or for doing DEFINE REPLACE. See the parameter descriptions for DEFINE CFSTRUCT.

Resolving The Problem

Find a time when the queues are clear (or can be cleared) and are not in use to make the change. Be aware that setting RECOVER(NO) will mean persistent messages can not be backed up and recovered.

  • You can see which queues on the structure have use counts and non-zero depths using the CSQOREXX panels or the command:

    /cpf DIS QUEUE(*) CFSTRUCT(APPLIST1) OPPROCS IPPROCS CURDEPTH CMDSCOPE(*) WHERE(CURDEPTH,GT,0)

    where "cpf" is the command prefix for the queue manager.

    The commands can be repeated with filters of:
    WHERE(IPPROCS,GT,0)
    WHERE(OPPROCS,GT,0)

  • Stop any applications that are using the queues.

    Special handling for SYSTEM.QSG.* queues:
    • If the structure contains the SYSTEM.QSG.TRANSMIT.QUEUE, it will be in use by IGQAGN00. That is the Intra-Group Queueing (IGQ) agent. To clear the use count, do one of the following:

    • - Use the CSQOREXX panels to set

        Put enabled . . . . . . . . . N Y=Yes, N=No
        Get enabled . . . . . . . . . N Y=Yes, N=No
      - Use the command
        / cpf ALTER QLOCAL(SYSTEM.QSG.TRANSMIT.QUEUE) GET(DISABLED) PUT(ENABLED)

      When you ENABLE the queue again, the agent will restart itself within a few minutes.

    • If SYSTEM.QSG.CHANNEL.SYNCQ is in use, stop any inbound or outbound shared channels.

Internal Use Only

7/6/2010 Beverly Brown:
/cpf DIS Q(*) CFSTRUCT(APPLICATION1) IPPROCS OPPROCS CURDEPTH CMDSCOPE(*)
updated to include filters


3/1/2012 Beverly Brown:
Bad Intra-Group Queueing link was http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqsat.doc/csq82gm.htm

[{"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Business Unit":{"code":"BU004","label":"Hybrid Cloud"},"Component":"Shared Queues","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"9.0;8.0;7.1;7.0;6.0","Edition":""}]

Product Alias/Synonym

WebSphere MQ WMQ

Document Information

Modified date:
15 June 2018

UID

swg21394228