Dead Letter Queues

The Oracle Cloud Infrastructure Queue service provides a dead letter queue as a way to store messages which aren't consumed successfully. Dead letter queues let you isolate problematic messages to find out why they're failing.

Every time a message is retrieved from a queue or channel, its delivery count increases. A message moves to a dead letter queue or one of its channels after the number of unsuccessful delivery attempts for the message exceeds the maximum delivery attempts defined for the queue. An unsuccessful delivery means that the consumer couldn't process or delete the message before its visibility timeout expired, so the message returned to the queue.

A consumer can't process a message from the queue, so the message is moved to the dead letter queue.

You can specify the maximum delivery attempts for a queue during queue creation or modify this value afterward. A dead letter queue is automatically created when you create a queue, and any channel within the queue has its own dead letter queue.

After a message is transferred to a dead letter queue, it's stored until its retention period has passed and then deleted by the service. Before a message is deleted by the service, you can manually consume it.