IBM Support

IT45784: JMQI does not successfully recreate a temporary dynamic queue after being balanced in a Uniform Cluster.

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • After a JMQI dependent application (MQ Classes for JMS in this
    case) gets balanced when connected to a Uniform Cluster, it
    fails to recreate a temporary dynamic queue.
    
    For example, assume the following setup.
    
    1. Uniform Cluster containing 3 Queue Managers named "QM1",
    "QM2" and "QM3".
    2. JMS application is initially connected to QM1.
    3. JMS application creates a temporary dynamic queue on QM1.
    4. JMS application gets balanced to QM2.
    5. When the JMS application attempts to recreate (reopen) the
    temporary queue on QM2, it fails.
    
    This can manifest as a 2548 MQRC_RECONNECT_FAILED. The root
    cause of the 2548 is typically a 2045
    MQRC_OPTION_NOT_VALID_FOR_TYPE. See below for an example stack.
    
    JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED')
    reason '2548' ('MQRC_RECONNECT_FAILED').
    [com.ibm.mq.MQException] at:
    com.ibm.msg.client.wmq.common.internal.Reason.createException(Re
    ason.java:203)
    com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCall
    Success(WMQMessageConsumer.java:222)
    com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCall
    Success(WMQMessageConsumer.java:156)
    com.ibm.msg.client.wmq.internal.WMQConsumerShadow.getMsg(WMQCons
    umerShadow.java:1859)
    com.ibm.msg.client.wmq.internal.WMQSyncConsumerShadow.receiveInt
    ernal(WMQSyncConsumerShadow.java:233)
    com.ibm.msg.client.wmq.internal.WMQConsumerShadow.receive(WMQCon
    sumerShadow.java:1462)
    com.ibm.msg.client.wmq.internal.WMQMessageConsumer.receive(WMQMe
    ssageConsumer.java:674)
    com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receiveIn
    boundMessage(JmsMessageConsumerImpl.java:1051)
    com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receive(J
    msMessageConsumerImpl.java:667)
    com.ibm.mq.jms.MQMessageConsumer.receive(MQMessageConsumer.java:
    209)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users of MQ Classes for JMS connecting to a Uniform Cluster
    utilising temporary dynamic queues.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    After a JMQI dependent application (MQ Classes for JMS in this
    case) gets balanced when connected to a Uniform Cluster, it
    fails to recreate a temporary dynamic queue.
    
    For example, assume the following setup.
    
    1. Uniform Cluster containing 3 Queue Managers named "QM1",
    "QM2" and "QM3".
    2. JMS application is initially connected to QM1.
    3. JMS application creates a temporary dynamic queue on QM1.
    4. JMS application gets balanced to QM2.
    5. When the JMS application attempts to recreate (reopen) the
    temporary queue on QM2, it fails.
    
    This can manifest as a 2548 MQRC_RECONNECT_FAILED. The root
    cause of the 2548 is typically a 2045
    MQRC_OPTION_NOT_VALID_FOR_TYPE. See below for an example stack.
    
    JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED')
    reason '2548' ('MQRC_RECONNECT_FAILED').
    [com.ibm.mq.MQException] at:
    com.ibm.msg.client.wmq.common.internal.Reason.createException(Re
    ason.java:203)
    com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCall
    Success(WMQMessageConsumer.java:222)
    com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCall
    Success(WMQMessageConsumer.java:156)
    com.ibm.msg.client.wmq.internal.WMQConsumerShadow.getMsg(WMQCons
    umerShadow.java:1859)
    com.ibm.msg.client.wmq.internal.WMQSyncConsumerShadow.receiveInt
    ernal(WMQSyncConsumerShadow.java:233)
    com.ibm.msg.client.wmq.internal.WMQConsumerShadow.receive(WMQCon
    sumerShadow.java:1462)
    com.ibm.msg.client.wmq.internal.WMQMessageConsumer.receive(WMQMe
    ssageConsumer.java:674)
    com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receiveIn
    boundMessage(JmsMessageConsumerImpl.java:1051)
    com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receive(J
    msMessageConsumerImpl.java:667)
    com.ibm.mq.jms.MQMessageConsumer.receive(MQMessageConsumer.java:
    209)
    

Problem conclusion

  • Classes for JMS will now successfully recreate any temporary
    dynamic queue(s) after being balanced to a different Queue
    Manager within a Uniform Cluster.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.3 LTS   9.3.0.20
    v9.x CD    9.4.1
    
    The latest available maintenance can be obtained from
    'IBM MQ Recommended Fixes'
    https://www.ibm.com/support/pages/recommended-fixes-ibm-mq
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'IBM MQ
    Planned Maintenance Release Dates'
    https://ibm.biz/mqplannedmaintenance
    
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT45784

  • Reported component name

    MQ BASE V9.3

  • Reported component ID

    5724H7291

  • Reported release

    930

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-03-22

  • Closed date

    2024-05-03

  • Last modified date

    2024-05-14

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    MQ BASE V9.3

  • Fixed component ID

    5724H7291

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"930","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
14 May 2024