grafclouds.com / documents / training / devops-challenges / aws-sqs-duplicate-processing

SQS Is Delivering the Same Message Twice. Is the Queue Broken?

Intermediate ~13 min read
AWS

Scenario

A job-processing system built on a standard SQS queue is occasionally running the same job twice. Customers get two copies of the same email; a few get charged twice. The workers pull messages, spend roughly two minutes doing the work, and delete the message when they finish. The queue's visibility timeout is the default-ish 30 seconds. There are no idempotency keys anywhere in the pipeline, and no dead-letter queue. The duplicates are intermittent, which makes them feel random — and random feels like a platform bug.

The Quick Fix on the Table

A teammate has concluded that standard SQS is simply unreliable and wants to migrate everything to FIFO queues, where "exactly-once processing" is on the label. It sounds like a clean fix: swap the queue type, duplicates disappear, no application code changes.

Interview · Round 1

The quick fix is on the table and the room is waiting for your call. Would you sign off on it? Take a position and justify it — out loud or on paper — before revealing the analysis.