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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions