MQRC 2120: Converted message too large
MQRC 2120 warns that converted data exceeded the output buffer. An MQGET may already have consumed the message, so check data and transaction state.
Other names for this code
Also written as RC2120, reason code 2120, MQ error 2120, MQRC_CONVERTED_MSG_TOO_BIG, 0848, 0x0848.
What it means
On MQGET with conversion, the original data fitted the receive buffer but expanded beyond it during conversion. IBM documents that the message has already been removed subject to the operation's transaction context, and data is returned unconverted with MQCC_
For compound messages, individual sections can have different conversion outcomes. On MQXCNVC, this reason instead identifies insufficient target-buffer capacity and truncated converted output. Preserve the API name.
A troubleshooting example
A consumer allocates exactly the source message length and converts text into an encoding that needs more bytes. The source fits, but the converted form does not, and MQGET reports 2120. A generic retry performs another destructive get and reads the next business message. Fix both buffer sizing and warning handling. The regression test should verify payload integrity, returned metadata and queue state after the warning, then exercise rollback if the application relies on syncpoint for recovery.
Common causes
- A receive buffer was sized for source bytes without allowing for expansion into the target encoding.
- A conversion exit returns an output length that exceeds the available receive space.
- A direct MQXCNVC call supplies a target buffer too small for the converted string.
How to find the problem
- Record the API, input length, buffer capacity, target encoding, completion code and DataLength. Identify any conversion exit.
- For MQGET, establish whether the message was browsed or consumed and whether a surrounding unit of work can still be backed out.
- Inspect returned CCSID and Encoding for each relevant section. Do not pass unconverted or mixed-result data to a parser expecting the requested target.
- Reproduce with multibyte characters that genuinely expand on conversion. An ASCII-only sizing test may never exercise this boundary.
How to fix it
- Provide sufficient output capacity for the intended encoding and payload limits. Test the largest expected character expansion, not only the largest source byte count.
- Correct a conversion exit that reports an incorrect output length. Verify returned data and metadata together.
- Handle the warning as a completed operation with a conversion problem. Do not blindly repeat a destructive get; follow the application's transaction and recovery design.
What it looks like
Illustrative diagnostic notes; not an IBM message template. MQGET + MQGMO_CONVERT Source fits receive buffer; converted form exceeds it CompCode=MQCC_WARNING Reason=2120 Check returned encoding and whether the message was consumed.
IBM documentation
IBM MQ 9.4: 2120 MQRC_CONVERTED_MSG_TOO_BIG. Use the documentation for your installed release.
Related codes
Questions
Is 2120 the same as 2080?
No. 2120 concerns expansion during conversion after the original data fitted. 2080 concerns a message too large for the get buffer without accepted truncation.
Can I just get the same message again?
Not safely without establishing the get and transaction outcome. The earlier MQGET may already have removed it.