amazon-web-servicesaws-lambdaamazon-sqs

How message from AWS DLQ gets deleted?


I am new to Queues so trying to understand this scenario

I have regular SQS Queue A and DLQ B and Lambda C.

Lambda C gets invoked by a message on SQS Queue.

Let say for whatever reason if something happens to Lambda C then message from SQS Queue A moves to DLQ B.

Then same Lambda C is invoked by message from DLQ B.

Let say if Lambda C is still not responding then what happens to message on DLQ B?

For how long that message will stay on DLQ B?

If Lambda C reads message from DLQ B then do i need to manually delete that message from DLQ B or it automatically gets deleted?


Solution

  • A DLQ is just another SQS queue, with the same settings and behavior as any other SQS queue. SQS queues have a configurable message retention period of up to 14 days. The messages would eventually be deleted once they were in the DLQ past the configured retention period for your DLQ.