Modernization Hub

IQI - Interrupted Queue Item

Enhanced Definition

An Interrupted Queue Item (IQI) in IBM MQ for z/OS refers to a message that has been put onto a queue or retrieved from a queue as part of a unit of work (transaction) that has not yet been committed or rolled back. These messages are held in an "interrupted" state on the queue, awaiting the resolution of their associated transaction.

Key Characteristics

    • Transactional Context: IQIs are always associated with an incomplete or unresolved unit of work (UOW) within IBM MQ.
    • Temporary State: They are not permanently stuck but are in a transient state, pending a COMMIT or ROLLBACK operation from the originating application.
    • Invisibility to Other Applications: While in the IQI state, these messages are typically not visible or accessible to other applications attempting to browse or get messages from the queue.
    • Persistence: IQIs usually involve persistent messages, as non-persistent messages are generally not involved in long-running, recoverable transactions.
    • Monitoring: The presence and details of IQIs can be observed using MQ commands like DISPLAY QSTATUS TYPE(QUEUE) IPPROCS or through MQ monitoring tools.
    • Recovery Implications: In the event of an MQ subsystem restart, IQIs are recovered and remain in their interrupted state, preserving transactional integrity.

Use Cases

    • Application Abends: A CICS transaction or batch COBOL program puts messages onto an MQ queue but then abends before issuing a COMMIT call, leaving the messages as IQIs.
    • System Failures: An application server or region connected to MQ fails unexpectedly mid-transaction, leaving its outstanding messages in an IQI state.
    • Deadlocks or Timeouts: An application experiences a deadlock or timeout, preventing it from completing its MQ transaction and committing or rolling back messages.
    • Debugging Transactional Issues: System programmers or developers might investigate IQIs to diagnose problems with application transaction logic or resource contention.

Related Concepts

IQIs are fundamental to IBM MQ's robust transactional integrity on z/OS. They are directly linked to Units of Work (UOWs) and the syncpoint manager, which coordinates commits and rollbacks across various resource managers (like DB2, IMS, CICS, and MQ). Applications running in environments like CICS, IMS, or batch COBOL programs that utilize MQ's transactional capabilities can create IQIs if their syncpoint processing is incomplete or fails.

Best Practices:
  • Proactive Monitoring: Implement regular monitoring for queues with high or persistent IQI counts, as this often indicates application issues or transaction failures.
  • Robust Application Design: Design applications with comprehensive error handling and ensure proper COMMIT or ROLLBACK logic for all MQ operations within a transaction.
  • Timely Resolution: Establish procedures for investigating and resolving IQIs, which may involve contacting application teams or using MQ commands like RESOLVE UOW to commit or back out the outstanding transactions.
  • Automated Alerts: Configure alerts to notify operations staff when IQI counts exceed predefined thresholds, prompting immediate investigation.
  • Understand RESOLVE UOW: Be cautious when using RESOLVE UOW as it can force a commit or backout; ensure you understand the implications for data integrity before execution.

Related Vendors

IBM

646 products

MacKinney Systems

54 products

UNICOM Systems

35 products

Trax Softworks

3 products

Related Categories

MQ, Messaging and SOA

76 products

email

33 products

CICS

214 products

Tools and Utilities

519 products

Administration

395 products

Security

144 products