APAR status
Closed as program error.
Error description
XMS .NET application with sharingconversation set to 1 and connecting to a Z os Queue sharing group which has more than 1 member is failing with MQRC_NO_CONNECTION_REFERENCE and throws the following exception to the application while closing the consumer IBM.XMS.IllegalStateException HResult=0x80131500 Message=Failed to close queue Q. XMS attempted to close a IBM MQ destination, but encountered an error. The destination might already be closed, or another thread may be performing an MQGET while close() is called. Use the linked exception to determine the cause of this error. You may be able to perform the close() later. Source=amqmxmsstd StackTrace: at IBM.XMS.Client.WMQ.WmqMessageConsumer.CheckNmqiCallSuccess(Strin g messageid, String insert, String insertKey, Int32 completionCode, Int32 reason, NmqiEnvironment environment, String probeid, WmqCommonConnection commonConnection, Hconn hconn) at IBM.XMS.Client.WMQ.WmqConsumerShadow.Close() at IBM.XMS.Client.WMQ.WmqMessageConsumer.Close() at IBM.XMS.Client.Impl.XmsMessageConsumerImpl.Close() at IBM.XMS.Client.Impl.XmsMessageConsumerImpl.Dispose()
Local fix
Set SharingConversation >1 as a workaround
Problem summary
**************************************************************** USERS AFFECTED: XMS .NET applications with sharing conversation set to 1 & connecting to a Z os Queue Sharing group which has more than 1 member. Platforms affected: Windows, Linux on x86-64 **************************************************************** PROBLEM DESCRIPTION: XMS .NET applications always establish two connections to a Queue Manager. First connection is created when CreateConnection() is called and the second connection is created when CreateSession is called. This is the default behavior. When an XMS .NET application is connecting to a Z os Queue Sharing group which has more than 1 member, the connections are established to two different Queue Managers in the group as two different sockets are created when SharingConversation is set to 1. When closing the XMS objects, if a wrong connection id(the connection id which doesn't belong to that Queue manager) is sent to the Queue manager then the Queue Manager would return MQRC_NO_CONNECTION_REFERENCE.
Problem conclusion
XMS .NET was using the wrong connectionId while closing the consumer, which now has been resolved. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.2 LTS 9.2.0.25 v9.3 LTS 9.3.0.20 v9.4 LTS 9.4.0.0 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
IT45181
Reported component name
MQ BASE V9.2
Reported component ID
5724H7281
Reported release
920
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2023-12-21
Closed date
2024-04-19
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.2
Fixed component ID
5724H7281
Applicable component levels
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"920","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]
Document Information
Modified date:
14 May 2024