What still needs to be produced
Start with the consumer’s expected result: a positions file, reconciliation or an accepted operation. Then locate the work across queues. In the fictional model inventory, zero items are ready, 12 are processing and eight are quarantined. These states are exact, distinct and all represent outstanding outcomes, so 20 items remain unresolved. Do not blindly apply this sum to distributed-service metrics, which may be approximate, collected at different times or count the same identities again.
Separate activity from completion
An increase in receives or deletes does not necessarily mean new business operations. SQS documentation explains that a message can be received several times and delete counts can include repetition. For L2, the useful question is which identified intents reached the expected state. Compare business identity with attempts and acknowledgements without removing repeated attempts from evidence. In a fictional close, 300 receives may coexist with fewer unique items and uncertain effects. The dashboard directs investigation; reconciliation answers questions about data.
Displayed age may differ from the expiration basis
The model compares two documented policies without creating AWS queues. An item is 72 hours old from original enqueue and has spent 24 hours in a DLQ with 96-hour retention. In the standard variant, expiration retains the original basis and 24 hours remain. In the FIFO variant, the timestamp resets on transfer and 72 hours remain. Displayed DLQ age does not replace identification of queue type and policy. Before proposing recovery, record timestamps and limits for the actual items, including those nearest expiry.
Isolation and business order
A DLQ separates work that was not processed, but does not make it complete. In a fictional sequence, opening a position precedes adjusting and closing it. Removing the failed opening may enable technical movement while invalidating later steps. The responsible team needs to decide how to preserve the business dependency. Other genuinely independent groups may continue if that independence is confirmed. Do not use backlog reduction as the only criterion: state which data and operations lack their required state and who decides recovery.
Prepare a bounded redrive
After fixing the defect, establish whether items had earlier effects and whether the current version accepts their format. Define scope, owner, initial pace, observations and stop criteria. The consumer may handle new arrivals simultaneously; recovering everything at once may saturate it again. The 800-message exercise performs no redrive and estimates no real throughput. It builds a decision: which items are recoverable, which duplicate risks need control and what evidence confirms business progress without losing track of still-isolated work.
Closing workshop with retention at risk
For eight items aged 92 hours under 96-hour standard retention, the model deadline is four hours away. An empty main queue changes neither that limit nor file delivery to the consumer. Prepare escalation with identities, business state, remaining time and the required decision. The owner may arrange authorized preservation or recovery and assess the business cut-off. At handover, retain inventory and action owners until completion evidence exists. A service’s retention is not extended merely by keeping an incident open.
Exact inventory: 0 ready + 12 processing + 8 isolated = 20 outstanding outcomes. Standard 96 h retention with original age of 92 h leaves four hours in the model.
Common pitfalls
Adding approximate metrics as exact inventory; counting receives as completions; treating DLQ as success; ignoring business order; assuming retention always restarts.
Related topics: Operational mitigation and validation · Handover and improvement · Timeline, recovery, and L2 handover
Follow intent through to its business outcome. Queue, age and attempt provide partial evidence that must be reconciled with identity, deadline and ownership.
Reference: Available CloudWatch metrics for Amazon SQS · Operational support; PostgreSQL 18, OpenSSL 3.5 and BIND 9.20.29 examples; reviewed 2026-09-30