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