0 votes
in Azure by
What is the purpose of the dead-letter queue (DLQ) in Azure Service Bus?

1 Answer

0 votes
by

The purpose of the dead-letter queue is to hold messages that can't be delivered to any receiver, or messages that couldn't be processed.

There are several activities in Service Bus that cause messages to get pushed to the DLQ from within the messaging engine itself. For example:

The size quota for this stream has been exceeded.

The message expired and was dead-lettered.

Session-enabled entity doesn't allow a message whose session identifier is null.

The maximum number of allowed hops when forwarding between queues has been exceeded. This value is set to 4.

Message couldn't be consumed after maximum delivery attempts.

An application can also explicitly move messages to the DLQ. They can include messages that can't be properly processed because of any sort of system issue, messages that hold malformed payloads, or messages that fail authentication when some message-level security scheme is used.

Once in DLQ messages can be removed from the DLQ and inspected. An application might, with the help of an operator, correct issues and resubmit the message, log the fact that there was an error, and take corrective action.

...