APAR status
Closed as program error.
Error description
After altering the queue manager's CCSID, the following messages might be issued from the clustering component of the queue manager. The queue manager will eventually terminate, unless it is ended manually. However, restarting the queue manager resolves the issue permanently. The errors relate to character data within internal MQ command messages used by the clustering component of the queue manager. AMQ9510: Messages cannot be retrieved from a queue. EXPLANATION: The attempt to get messages from queue 'SYSTEM.CLUSTER.COMMAND.QUEUE' on queue manager 'QMNAME' failed with reason code 2150. AMQ6174: The dynamically loadable shared library '/var/mqm/exits64/MQADMIN_r' was not found. AMQ9448: Repository manager failed. Retry in 10 minutes, queue manager will terminate in 7050 minutes. After the fix for IT15735, the sequence of errors is different, and updates to local cluster cache state are dropped, incorrectly. If the queue manager has a dead letter queue, one or more messages will be put there, but there is no action the user can then take to handle those messages. Additionally it is possible this problem will be seen for certain types of internal MQ cluster state data arriving from remote cluster queue managers to this one.
Local fix
Correct the CCSID, if it was wrongly typed. Restart the queue manager so that the same CCSID is used throughout the queue manager, including the repository manager program.
Problem summary
**************************************************************** USERS AFFECTED: Users who alter their QMGR CCSID, or (they cannot control this) receive internal cluster state messages with unconvertible characters from remote systems. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The errors relate to character data within internal MQ command messages used by the clustering component of the queue manager. The cluster repository manager program (amqrrmfa) gets these messages from the SYSTEM.CLUSTER.COMMAND.QUEUE using MQGET with MQGMO_CONVERT. Messages will be put containing character fields encoded with the new CCSID. However, by design amqrrmfa (as with all application programs that connected before the change in the CCSID) will have cached the previous value of the CCSID at the time it connected. Therefore MQGET tries to convert the messages. If there is a defined conversion from the new CCSID to the previous (cached) CCSID, this will be likely to succeed. But even so, there are some byte sequences that will not convert successfully. If the user has used unconvertible byte sequences in fields such as queue or channel descriptions, then these will cause the conversion to fail with reason codes such as 2150 MQRC_DBCS_ERROR. At this point the behaviour is different at different fix packs: At levels not including the fix for IT15735: message at the top of the queue became a poison message, and caused the queue manager to end after a prolonged period where it is retried without success. At levels including the fix for IT15735: the message at the top of the queue is moved to the DLQ, if one is defined. The benefit is that the message is no longer a poison message. But the downside is that that update was not made to the local cluster cache. In the worst case this resulted in queues becoming expired and so invisible to applications.
Problem conclusion
The MQ queue manager code has been updated with additional logic to handle the situation at the point when 2150 MQRC_DBCS_ERROR is returned from MQGET. The field(s) which might contain unconvertible characters will be blanked out and the conversion will be retried. If the conversion succeeds, the code can proceed to store that update with a blank description. Error messages AMQ6174 and AMQ9880 will be written, to inform the administrator. If the message is still unconvertible then it will be moved to the Dead Letter Queue and an error message will be written. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v8.1 8.1.0.6 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT33905
Reported component name
MQ FOR HPE NS O
Reported component ID
5724A3904
Reported release
810
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-08-14
Closed date
2020-08-24
Last modified date
2020-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
MQ FOR HPE NS O
Fixed component ID
5724A3904
Applicable component levels
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"810","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
27 August 2020