Avoiding inconsistent message processing in Amazon SQS
Because Amazon SQS is a distributed system, it is possible for a consumer to not receive a
message even when Amazon SQS marks the message as delivered while returning successfully from
a ReceiveMessage
API method call. In this case, Amazon SQS
records the message as delivered at least once, although the consumer has never received
it. Because no additional attempts to deliver messages are made under these conditions,
we don't recommend setting the number of maximum receives to 1 for a dead-letter queue.