Fixes are available
APAR status
Closed as program error.
Error description
WebSphere MQ classes for JMS clients issue a MQQueueReceiver.close() or MQMessageConsumer.close() call, but receive(long timeout) calls block the close() from completing. Once the blocking receive(long timeout) call times out, the message consumer is closed.
Local fix
Adjust application code such that the timeout value on the QueueReceiver.receive(long timeout) method call is a smaller value, and looping the call if necessary to extend it back to the original timelength.
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of of WebSphere MQ classes for Java Messaging Service (JMS) client, at version v7.0.1. Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java **************************************************************** PROBLEM SUMMARY: When a MessageConsumer.close() method call is made, the MessageConsumer is closed. While it is being closed, the close() call blocks until the MessageConsumer has closed, and any outstanding receives(long timeout) method calls on that consumer should return a null if a message was not in the process of being transferred. Using WebSphere MQ classes for JMS v6, the consumer takes up to 5 seconds to close, independent of the timeout value specified on the receive. In v7.0.0, the consumer closed almost immediately, with any outstanding receive(long timeout) calls returning a null. However in v7.0.1, the client blocks on the MessageConsumer.close() until the outstanding MessageConsumer.receive(long timeout) calls has run to completion, which occurs when the timeout time has been reached. For example, if the application did the following: messageConsumer.receive(600000); which instructs the client code to wait up to 10 minutes to receive a message, and on another thread, 1 minute later the application did: messageConsumer.close(); in v7.0.1, this close() will take 9 minutes to complete, the remaining time for the receive(600000) to complete.
Problem conclusion
Additional locking was put into the WebSphere MQ classes for JMS client at the v7.0.1 level of code, which was preventing the MessageConsumer.close() operation from running through to completion. The additional locking was held by the open receive(long timeout) method call, so once this completed the close() could complete. The code was modified under this APAR to adjust the sequence of events so that the receive(long timeout) call was interrupted before the necessary locks were requested by the close(). This resolves the issue for the client. | MDVREGR 7.0-WS-MQ-AixPPC64-RP0001 | | MDVREGR 7.0-WS-MQ-HpuxIA64-RP0001 | | MDVREGR 7.0-WS-MQ-HpuxPaRISC64-RP0001 | | MDVREGR 7.0-WS-MQ-LinuxIA32-RP0001 | | MDVREGR 7.0-WS-MQ-LinuxPPC64-RP0001 | | MDVREGR 7.0-WS-MQ-LinuxS390X-RP0001 | | MDVREGR 7.0-WS-MQ-LinuxX64-RP0001 | | MDVREGR 7.0-WS-MQ-SolarisSparc64-RP0001 | | MDVREGR 7.0-WS-MQ-SolarisX64-RP0001 | | MDVREGR 7.0-WS-MQ-Windows-RP0001 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0001 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0001 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0001 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0001 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0001 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0001 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0001 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0001 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0001 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0001 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0002 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0002 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0002 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0002 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0002 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0002 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0002 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0002 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0002 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0002 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0003 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0003 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0003 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0003 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0003 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0003 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0003 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0003 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0003 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0003 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0004 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0004 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0004 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0004 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0004 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0004 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0004 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0004 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0004 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0004 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0005 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0005 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0005 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0005 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0005 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0005 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0005 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0005 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0005 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0005 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0006 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0006 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0006 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0006 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0006 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0006 | --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: v7.0 Platform Fix Pack 7.0.1.7 -------- -------------------- Windows U200333 AIX U843721 HP-UX (PA-RISC) U844089 HP-UX (Itanium) U844094 Solaris (SPARC) U844090 Solaris (x86-64) U844096 iSeries tbc_p700_0_1_7 Linux (x86) U844091 Linux (x86-64) U844095 Linux (zSeries) U844092 Linux (Power) U844093 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
IC71736
Reported component name
WMQ WINDOWS V7
Reported component ID
5724H7220
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-10-07
Closed date
2010-11-04
Last modified date
2011-08-26
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 WINDOWS V7
Fixed component ID
5724H7220
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023