AQ messages remains READY even after retry count has been exceeded
(Doc ID 1356146.1)
Last updated on MARCH 04, 2019
Applies to:Oracle Database - Enterprise Edition - Version 22.214.171.124 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Information in this document applies to any platform.
In a single consumer queue, it is expected that when retry_count for a message if greater than max_retries, the message changes its status to EXPIRED and message is moved to the exception queue.
In a multiconsumer queues, the message will move to the exception and will change its status to EXPIRED only when ALL the the subscribers for that message has consumed or exceed the max_retries. Meanwhile there is a subscriber which can dequeue the message, the message status will remain as READY even for those subscribers that has exceeded max_retries. Those subscribers that have exceeded max_retries won't be able to dequeue that message anymore although status appear as READY for them.
But if AQ-JMS interface is been used to dequeue messages, you are working with a multiconsumer queue and message state is not changing to EXPIRED, despite all subscribers have exceed max_retries then you maybe hitting on <Bug:11880649>
You are working on release 11.2 or recently has upgraded to release 11.2
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document