APAR status
Closed as program error.
Error description
A non-persistent message is not present on a queue after the MQPUT (outside of syncpoint) completes, but it was not received by any MQGET caller. Analysis of the diagnostics from the queue manager shows that the message was in the process of being delivered to a waiting MQGET call from an asynchronous consumer (also outside of syncpoint), however the MQGET timed out before the message was delivered successfully, but the message was not added to the queue.
Local fix
Use synchronous MQGET API calls, or consume messages from the queue under an MQ syncpoint.
Problem summary
**************************************************************** USERS AFFECTED: User applications performing Async Consume operations where the messages are non persistent Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When an application is putting a message, the queue manager may determine that there is a getting application (in this instance an asynchronous consumer) waiting to receive messages which it can give the message to directly. There is a timing window whereby the consumer has completed its wait interval just as the queue manager is getting ready to hand the message over to it (avoiding the the queue) Synchronous MQGET processing accounts for this scenario when it completes its wait interval and perform additional processing to receive the message from queue manager by waiting until the put processing has completed if necessary. However, a logic error meant that asynchronous consumer processing failed to correctly check for this scenario and returned MQRC_NO_MSG_AVAILABLE (2033) to the consumer application. At this point, because the message was not going to be placed on a queue by MQPUT processing (and because the message was non persistent) the message is then lost.
Problem conclusion
The problem is resolved with the inclusion of code present for normal MQGET processing for the specific timing related scenario. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v8.0 8.0.0.16 v9.0 LTS 9.0.0.12 v9.1 LTS 9.1.0.8 v9.2 LTS 9.2.0.2 v9.x CD 9.2.2 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
IT34822
Reported component name
IBM MQ BASE MP
Reported component ID
5724H7271
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-11-08
Closed date
2021-01-22
Last modified date
2021-06-11
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
IT37229
Fix information
Fixed component name
IBM MQ BASE MP
Fixed component ID
5724H7271
Applicable component levels
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU029","label":"Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]
Document Information
Modified date:
13 June 2021