Fixes are available
APAR status
Closed as program error.
Error description
A standalone WebSphere MQ classes for JMS V7.0 application is configured to use a MessageListener against a subscription on a V7.0 queue manager, using the V6 style queue Publish/Subscribe configuration. High CPU consumption is seen on the queue manager's host system. This drops to a lower level when messages are being processed by the application. A trace shows that many 2033 (MQRC_NO_MSG_AVAILABLE) return codes are being returned by the queue manager in rapid succession.
Local fix
Used 7.0 style PUB/SUB.
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of WebSphere MQ V7 classes for JMS using a configuration with the following specific combination: - Using a V6.0, V7.0, V7.1 or V7.5 WebSphere MQ classes for JMS and queue manager, but using V6 style queued pub/sub. - Using message listeners in a standalone WebSphere MQ classes for JMS application, while not running within an application server environment. - Selectors are being used, or sparse subscriptions are enabled. - No messages are currently available for consumption by the MessageListener, so the browser is waiting for suitable messages to arrive. Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java +Java zOS **************************************************************** PROBLEM SUMMARY: When the queued publish/subscribe model is used with a JMS MessageListener, the expected behaviour of the listener thread is that it continually polls the queue containing the messages for the subscription, using a timeout of 5 seconds. This means that if a message has not been located on the queue within 5 seconds, the listener's browse will return to the WebSphere MQ classes for JMS, with a return code of 2033, 'MQRC_NO_MSG_AVAILABLE', which then issues another browse with 5 second wait. In the specific configuration described above, even though the wait timeout value was set to 5 seconds, the wait flag was not set in the WebSphere MQ classes for JMS. The result of this was that if no matching message was available on the queue, the browse call to the queue manager returned immediately with another MQRC 2033. The WebSphere MQ classes for JMS then looped around again issuing another browse without the wait flag set, resulting in further MQRC 2033 as fast as the application thread and queue manager were able to process. This loop continued while there were no messages were available on the subscriber's queue, resulting in excessive CPU being consumed on both the application and queue manager systems.
Problem conclusion
As a result of the code change associated with this APAR, the flag indicating that the browse should wait for the specified 5 second interval is now set when the system is configured with this specific setup. This results in the loop running every 5 seconds instead of as fast as the two sides of the system were able to process the requests. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: v7.0 Platform Fix Pack 7.0.1.10 -------- -------------------- Windows 7.0.1.10 AIX 7.0.1.10 HP-UX (PA-RISC) 7.0.1.10 HP-UX (Itanium) 7.0.1.10 Solaris (SPARC) 7.0.1.10 Solaris (x86-64) 7.0.1.10 iSeries 7.0.1.10 Linux (x86) 7.0.1.10 Linux (x86-64) 7.0.1.10 Linux (zSeries) 7.0.1.10 Linux (Power) 7.0.1.10 zOS 7.0.1.10 v7.1 Platform Fix Pack 7.1.0.2 -------- -------------------- Windows 7.1.0.2 AIX 7.1.0.2 HP-UX (Itanium) 7.1.0.2 Solaris (SPARC) 7.1.0.2 Solaris (x86-64) 7.1.0.2 iSeries 7.1.0.2 Linux (x86) 7.1.0.2 Linux (x86-64) 7.1.0.2 Linux (zSeries) 7.1.0.2 Linux (Power) 7.1.0.2 zOS 7.1.0.2 v6.0 Platform Fix Pack 6.0.2.12 -------- -------------------- Windows U200331 AIX U842074 HP-UX (PA-RISC) U842208 HP-UX (Itanium) U842213 Solaris (SPARC) U842209 Solaris (x86-64) U842216 iSeries tbc_p600_0_2_12 Linux (x86) U842210 Linux (x86-64) U842215 Linux (zSeries) U842211 Linux (Power) U842212 Linux (s390x) U842214 Platform v7.5 -------- -------------------- Multiplatforms 7.5.0.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
IV23042
Reported component name
WMQ LIN X86 V7
Reported component ID
5724H7224
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-06-14
Closed date
2012-06-29
Last modified date
2012-06-29
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
WMQ LIN X86 V7
Fixed component ID
5724H7224
Applicable component levels
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1"}]
Document Information
Modified date:
21 April 2021