2101 (0835) (RC2101): MQRC_OBJECT_DAMAGED

Explanation

The object accessed by the call is damaged and cannot be used. For example, this might be because the definition of the object in main storage is not consistent, or because it differs from the definition of the object on disk, or because the definition on disk cannot be read. The object can be deleted, although it might not be possible to delete the associated user space.
  • [z/OS]On z/OS®, this reason occurs when the Db2® list header or structure number associated with a shared queue is zero. This situation arises as a result of using the MQSC command DELETE CFSTRUCT to delete the Db2 structure definition. The command resets the list header and structure number to zero for each of the shared queues that references the deleted CF structure.

Completion code

MQCC_FAILED

Programmer response

It might be necessary to stop and restart the queue manager, or to restore the queue manager data from backup storage.
  • On the following platforms, consult the FFST record to obtain more detail about the problem:
    • [AIX][Linux]AIX® and Linux®
    • [IBM i]IBM® i
  • [z/OS]On z/OS, delete the shared queue and redefine it using the MQSC command DEFINE QLOCAL. This automatically defines a CF structure and allocates list headers for it.

[OpenShift Container Platform][MQ 9.4.0 Jun 2024]Native HA queue managers, which use replicated logging, automatically attempt asynchronous media recovery of damaged objects that are configured as media recoverable. If the automatic recovery is initially unsuccessful, the asynchronous recovery processing periodically retries. If the issue that prevented recovery can be resolved, the object is recovered on the next retry, or the object can be recovered manually, using the rcrmqobj command. For circular logging queue managers, or for objects that are not configured as media recoverable, no media recovery is possible, so the object should be deleted.