APAR status
Closed as program error.
Error description
The MQOP_SUSPEND option on the MQCTL API call pauses the consumption of messages. The existing behavior is that the application connection consumes an extra message after being suspended, regardless of whether read-ahead is enabled. If read-ahead is not enabled for the connection, no messages should be consumed after the call is issued.
Local fix
It is possible to work around the problem on the client by individually suspending each callback using MQCB(SUSPEND) from inside the callback rather than doing a less granular MQCTL(SUSPEND) for the connection. Another possible client-side alternative would be to follow the advice for MQCTL(SUSPEND) and have the application close the queue if it is not expecting to receive further messages for a while: "MQOP_SUSPEND Pause the consuming of messages. This operation releases the connection handle. This does not have any effect on the reading ahead of messages for the application. If you intend to stop consuming messages for a long time, consider closing the queue and reopening it when consumption continues" A further workaround is to call MQCTL(STOP) rather than MQCTL(SUSPEND).
Problem summary
**************************************************************** USERS AFFECTED: Users of the IBM MQ asynchronous consume functionality that use MQCTL(SUSPEND) may be affected by this problem. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: If a client application thread issues MQCTL(SUSPEND) then messages may continue to be delivered to the application. If the application does not call MQCTL(RESUME) then these messages may be lost, even if they are persistent messages.
Problem conclusion
The IBM MQ code has been modified so that MQCTL(SUSPEND) will prevent further messages from being delivered to applications until MQCTL(RESUME) is called. This change in behaviour only applies if none of the queue handles being used by consumers under MQCTL control are using read-ahead. If some of your consumers use read-ahead then you are advised to use one of the workarounds documented in this APAR. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level 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
IT33668
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-07-23
Closed date
2021-01-22
Last modified date
2021-01-22
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
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]
Document Information
Modified date:
23 January 2021