Fixes are available
APAR status
Closed as program error.
Error description
A client can call MQCB to get a message. In some cases, this can fail with rc 2190 MQRC_CONVERTED_STRING_TOO_BIG. . The internal MQGET was successful. The message size happened to be the same as the buffer size provided. But character codepage conversion then occurs. During this operation, the message character data can overflow the buffer provided. The operation can then fail with reason code 2190, even when the MaxMsgLength supplied in the MQCBD is large enough to contain the translated message. . This error should only occur when code page translation exceeds the MaxMsgLength specified in the MQCBD.
Local fix
For Client connections, change the SVRCONN channel to SHARECNV(0)
Problem summary
**************************************************************** USERS AFFECTED: All users using data conversion (MQGMO_CONVERT) who specify a non-default value for MaxMsgLength in the MQCBD passed to MQCB, and who consume messages for which the target character encoding of the message is longer in bytes than the encoding of the message on the queue. Platforms affected: MultiPlatform **************************************************************** PROBLEM SUMMARY: When messages were consumed asynchronously from a queue, using MQCB, the MQ queue manager performs the MQGET calls on the application's behalf, before passing the message to the designated function of the application. The asynchronous consume function within the queue manager uses its own internal buffers to perform the MQGET, and will increase these buffers up to the maximum size specified by the MaxMsgLength field of the MQCBD specified in the MQCB call. When character conversion occurs, it is possible that after conversion the message data may be represented using more bytes than before conversion. For example, converting from a single-byte to a double-byte character set. In this situation it is possible that the buffer used internally for the MQGET call may be too small to contain the converted message data. In this case WebSphere MQ would return MQRC_CONVERTED_STRING_TOO_BIG to the application, even if the MaxMsgLength specified by that application was large enough to contain the converted message data.
Problem conclusion
The MQ asynchronous consume code has been altered to increase the buffer used to contain the message data if the buffer is too small to contain the converted message data. The buffer will grow up to the maximum size specified by MQCBD.MaxMsgLength. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.1 7.1.0.5 v7.5 7.5.0.4 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
IV53820
Reported component name
WMQ AIX V7
Reported component ID
5724H7221
Reported release
710
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-01-09
Closed date
2014-01-24
Last modified date
2014-01-24
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 AIX V7
Fixed component ID
5724H7221
Applicable component levels
R710 PSY
UP
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1"}]
Document Information
Modified date:
09 March 2021