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?
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.