We Trusted Auto-Ack. The Queue Agreed. Our Costs Didn't.

TL;DR AI
2 min readKey summary
An async queue worker used auto-ack, so messages were marked done before processing actually finished.
When work ran longer than the queue timeout, the same message was redelivered to another worker and processed twice.
This created a silent race condition with duplicate work, hidden retries, and higher costs.
Switching to manual acknowledgment after successful completion fixed the issue.
