cloud
messaging
ai_generated
true
Message reprocessed — SQS visibility timeout too short for processing time
ID: cloud/aws-sqs-visibility-timeout-reprocessing
90%Fix Rate
92%Confidence
4Evidence
2023-01-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| any | active | — | — | — |
Root Cause
SQS visibility timeout shorter than processing time causes message to become visible again.
genericWorkarounds
-
93% success Set visibility timeout to 6x max processing time and extend with ChangeMessageVisibility
sqs.change_message_visibility(QueueUrl=q, ReceiptHandle=rh, VisibilityTimeout=300)
-
90% success Make processing idempotent so reprocessing has no side effects
Use a deduplication key and check before processing
Dead Ends
Common approaches that don't work:
-
Set visibility timeout equal to average processing time
80% fail
Average is not max; longer processing will cause reprocessing
-
Delete message before processing completes
85% fail
If processing fails after delete, the message is lost forever