APAR status
Closed as program error.
Error description
When a Classes for Java application using connection pooling creates a number of topic objects from a queue manager object, and then calls disconnect on that queue manager object, the handles for these topics are not closed as expected before the queue manager instance is added to the pool to await reuse. When this queue manager is taken from the pool when the application creates a new queue manager instance, that new queue manager will have a reduced number of object handles available as a result of those previous topic handles not being closed - this can result in a 2017 MQRC_HANDLE_NOT_AVAILABLE error when creating topic object from this new queue manager instance when the number of object handles in use reaches the queue manager's object handle limit MAXHANDS.
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This affects users of the Classes for Java who are also making use of both connection pooling and publish/subscribe functionality. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When a Classes for Java application created a new MQQueueManager instance with connection pooling enabled, and then used this queue manager object to create some new topic objects, and then called disconnect() on that queue manager to close the related objects and return the queue manger instance to the connection pool for later use, the topic objects owned by that queue manager instance were not closed as expected - calling disconnect() on a MQQueueManager instance should close all objects that had been created by that queue manager instance. So when another MQQueueManager object was created by that same application, and that original queue manager instance was taken from the pool to be reused, that queue manager instance still had a number of open handles in use that had not been closed, from the original topics created. This meant that when this new queue manager instance was used to open queues, topic and other objects for use, there was a smaller number of available topic handles available for use. This process could then be repeated if disconnect() was then called on this queue manager object. Eventually, an attempt to open a queue or topic object from the queue manager instance could fail with MQRC_HANDLE_NOT_AVAILABLE, as the queue manager had not cleared any of the topic handles that had been in use.
Problem conclusion
When a Classes for Java queue manager disconnects, all topics associated with that queue manager are closed and the handles are cleared, matching the behaviour for other types of object creates for a queue manager instance. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.1 LTS 9.1.0.7 v9.2 LTS 9.2.0.2 v9.x CD 9.2.1 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT32212
Reported component name
IBM MQ BASE MP
Reported component ID
5724H7271
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-03-18
Closed date
2020-09-29
Last modified date
2023-03-08
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
IBM MQ BASE MP
Fixed component ID
5724H7271
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
08 March 2023