Skip to content

Retry MQGET call for MQCMD_INQUIRE_Q_MGR PCF command returns MQRC_OPTIONS_CHANGED error #22

@jackvanstoneibm

Description

@jackvanstoneibm

Hello!

I have found this error which has been introduced in 2.0.6 by 66a3db8#diff-e6605e9a681300c4abe61dee8125f2394dee6582a0dd71ed7591a428ed8cd0df

Scenario:

  1. Created a queue manager on a machine that is using CCSID 819
  2. Ran the MQCMD_INQUIRE_Q_MGR PCF command with the MQOO_READ_AHEAD option
  3. The initial MQGET call returned an MQRC_TRUNCATED_MSG_FAILED error
  4. Line 299 of mqqueue.py sets the field CodedCharSetId to 819 on m_desc, which was initially unset
  5. The retry MQGET call then returned MQRC_OPTIONS_CHANGED as CodedCharSetId is not permitted to change between MQGET calls when using read ahead
MQI Error. Comp 2, Reason 2457: FAILED: MQRC_OPTIONS_CHANGED
  File "/opt/app-root/src/.venv/lib/python3.13/site-packages/ibmmq/mqadmin.py", line 392, in __call__
    raise e
  File "/opt/app-root/src/.venv/lib/python3.13/site-packages/ibmmq/mqadmin.py", line 326, in __call__
    message = self.__pcf.reply_queue.get(self.__pcf._max_length, get_md, get_opts)
  File "/opt/app-root/src/.venv/lib/python3.13/site-packages/ibmmq/mqqueue.py", line 314, in get
    raise MQMIError(rv[-2], rv[-1])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions