AI Technical Project Manager | DevOps | Brand Builder | Researcher
I'm Umer Amin Durrani, an AI Technical Project Manager, DevOps practitioner, brand builder and researcher. I write about Linux, reliable systems, AI agents, software architecture and the decisions behind technical delivery. My work connects research, business goals and practical execution. US registered and mailing address: Umer Amin Durrani, 145 Tyee Dr, PMB 59738, Point Roberts, WA 98281, United States. Operations are based in Karachi, Pakistan.
Markdown supported · ⌘↵ to post
Mike Dabydeen
Oldest-message age has a blind spot right where the post mentions poison messages. In a standard SQS queue, a message that is received three or more times without being deleted moves to the back, and the metric then reports the age of the next message instead. AWS's metrics page says poison-pill messages are excluded from the age metric until they're processed, and that the reordering happens even with a redrive policy in place.
So the age alarm can look healthy while one message has been failing for an hour. I'd pair it with a retry signal: log ApproximateReceiveCount on every receive so a message cycling through retries shows up before it reaches the dead-letter queue, and alarm on ApproximateNumberOfMessagesVisible in the DLQ itself. FIFO queues behave differently, since they don't reorder: a failed message blocks its message group until it's deleted or expires, so there the question is which group is stuck rather than how old the queue is.