The meshIQ platform now supports tracking damaged IBM MQ queue objects using the REASONCODE fact under Local Queues. This enables automated detection, alerting, and visibility directly from the Enterprise Manager, without requiring manual log review.
How It Works
When a queue object becomes corrupted or inaccessible, IBM MQ may return an error such as:
AMQ8149S: IBM MQ object damaged.AMQ8147: Object not found.
meshIQ captures these errors via the Navigator event system and now also exposes them in Enterprise Manager (EM) through the REASONCODE fact under the affected Local Queue.
This allows users to:
- Automatically surface object-level issues in real-time.
- Attach policies to generate alerts (e.g., via AutoPilot).
- View error details in the Console viewlet for deeper investigation.
Example
1. Event Logs Capturing Damage Errors
These logs show when the error was recorded and help identify which queue and manager were affected.
2. Queue Manager Response to Damage
You can observe the MQ response to a display command such as DIS QLOCAL(PFLQ100) returning damage messages:
AMQ8149S: IBM MQ object damaged. MQSC command failed: ERROR: Command completed with messages
3. Full Diagnostic Message from MQ
The diagnostic pane from Navigator provides the detailed action and explanation around the damage.
Monitoring the REASONCODE Fact
The REASONCODE will now be published under the LocalQ facts when an MQ object like a queue is marked as damaged. You can view this data in the Console or use it as a trigger for an alerting policy.
- Example: If a queue is damaged, a
REASONCODEsuch as2101(object damaged) will appear. -
Navigate to the affected queue > Facts > Locate
REASONCODE.
Suggested Actions
If an object is marked as damaged:
- Validate the issue in the MQ logs or via MQSC response.
- If media recovery is enabled and possible, MQ will attempt it automatically.
- Otherwise, you may need to manually delete and recreate the queue.
Related Articles & References
- 🔗 Checking error codes returned without looking at the log
Learn how to accessREASONCODEand other error data directly within the meshIQ UI. - 🔗 Connections – Queue Manager
- 🔗 Deploying an Expert