Skip to main content

Notification Dead-Letter Processing

Summary​

Dead-letter processing is configured but not wired. Two settings name a dead-letter exchange and queue; nothing in the reviewed source references them.

Audience​

DevOps engineers, engineers, architects, QA and support.

Dead-letter flow​

What is configured​

The Notification options type declares two string settings under its broker topology group, defaulting to a platform dead-letter exchange name and a service-specific dead-letter queue name.

Both are bound from configuration like every other option. Both are unreferenced: no consumer code, no declaration call and no publish path reads either value.

What is declared​

The queue is declared durable, non-exclusive and not auto-deleted, with arguments explicitly null. The dead-letter exchange argument is the mechanism by which a queue routes rejected, expired or overflowing messages to a dead-letter destination. Passing no arguments means no such routing is configured.

No dead-letter exchange is declared, no dead-letter queue is declared, and no binding between them is created.

Configured versus operational​

This distinction matters for anyone reading the configuration and assuming a safety net exists.

AspectState
Dead-letter names present in configurationConfigured
Queue declared with dead-letter argumentsNot wired
Dead-letter exchange declared by the serviceNot declared
Dead-letter queue declared by the serviceNot declared
Code that consumes or inspects dead-lettered messagesNone

Whether an operator has applied a broker-side policy that supplies dead-lettering out of band is outside the repository and is classified Requires confirmation. This documentation asserts nothing about the deployed broker.

Consequence​

Because the consumer always requeues rather than rejecting, and the queue has no dead-letter destination, there is no path by which a message leaves the queue other than successful processing. A permanently failing message cannot be parked, inspected or drained through any mechanism the code provides.

Classification​

Not implemented.

Requires confirmation​

Whether the dead-letter names are intended to be wired, and whether a broker-side policy currently supplies dead-lettering, require confirmation.

See Also​

Keywords​

  • Notification database
  • Dead-Letter Processing
  • Draft database documentation

Source References​

  • microservices/src/notification-service/Application/NotificationOptions.cs
  • microservices/src/notification-service/Messaging/NotificationEventConsumer.cs

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-21
  • Review cycle: Quarterly