A fix is available
APAR status
Closed as program error.
Error description
Code introduced through PI46510/UI33362 can impact applications using an RRS enabled connection to WebSphere MQ ( including bindings mode connections from WAS ) When a connection to MQ is in an MQGET wait and either a message arrives or the wait interval expires, the code to post the waiting task can incorrectly determine that the task is no longer valid and skip the post call. This results in the connection remaining permanently suspended in the MQGET wait. . Additional keywords: WebSphere Application Server WAS WSAS IBM Integration Bus (formerly WebSphere Message Broker)
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: All users of WebSphere MQ for z/OS Version 7 * * Release 1 Modification 0 * **************************************************************** * PROBLEM DESCRIPTION: The following two problems are fixed by * * this APAR. * * 1: * * After applying UI16412, RRS * * applications issuing MQGET with * * MQGMO_WAIT hang if RRS is restarted * * while the application is waiting to be * * posted. * * * * 2: * * After applying UI33362, RRS * * applications (including IIB and WAS) * * issuing MQGET calls can hang * * indefinitely if the MQGET is issued on * * a different TCB to that originally used * * by a context, and the original TCB is * * no longer active * **************************************************************** * RECOMMENDATION: * **************************************************************** 1: When RRS is restarted, any active RRS agents are driven through End of Task (EOT) processing. This should result in any such agents that are in an MQGET wait being posted when the handled is closed, however changes added to CSQM1P1W by PI08608 cause this post to be incorrectly skipped. 2: When a getting application is being posted (for example, by the arrival of a suitable message, or the expiry of the get wait interval), code added to CSQM1P1W by PI46510 checks if the getter TCB is still active if there are any tasks in the getter address space in EOT processing. This check uses the tcbtoken stored in the getter's MTHR, however if the MQGET call was issued on a different TCB to the TCB the context originally used, the tcbtoken is incorrect and still relates to the original TCB. If that TCB has ended, CSQM1P1W incorrectly determines that the getter is going through EOT processing and skips posting the getter's ECB, leading to the reported problems.
Problem conclusion
CSQMGET is changed to ensure the MTHR associated with an RRS MQGET request is updated with the correct tcbtoken for the TCB currently being used for the MQGET request, allowing the check in CSQM1P1W to correctly determine if that TCB is still active or not. CSQM1P1W is changed to no longer skip the post when an RRS agent is driven through EOT. 100Y CSQMALL CSQMGET CSQM1P1W
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PI61683
Reported component name
WMQ Z/OS V7
Reported component ID
5655R3600
Reported release
100
Status
CLOSED PER
PE
YesPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-04-29
Closed date
2016-05-12
Last modified date
2016-08-17
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI37799
Modules/Macros
CSQMALL CSQMGET CSQM1P1W
Fix information
Fixed component name
WMQ Z/OS V7
Fixed component ID
5655R3600
Applicable component levels
R100 PSY UI37799
UP16/05/26 P F605 «
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
17 August 2016