0

So I have 10 message groups in FIFO queue having 2 messages per group and I have also reserved lambda concurrency set to 5. (Lambda completes execution in 1 min and SQS visibility timeout set to 2 mins)

when all 20 messages are pushed to queue, SQS inflight messages gets set to 10 and then after the execution time, 5 messages gets processed successfully and other 5 moves to DLQ.

And then the next executions inflight messages gets set to 5 (as reserved lambda concurrency set to 5.) and processes as expected (This should be the expected behaviour right?)

Any particular reason why this is happening?

user17090811
  • 143
  • 2
  • 10
  • Are you sure that 5 messages are being sent to the Dead Letter Queue? It seems strange that the `ReceiveCount` would increment when Lambda cannot process the actual messages. If you increase the `ReceiveCount`, do the messages then behave correctly? Is there a particular reason why you have set it to a value of `1`? – John Rotenstein Jan 18 '22 at 21:10
  • yes. Also checked the 5 logs, each log is having only 3 messages details. At first I did not knew if it was really ReceiveCount but tested with ReceiveCount set to 2 and it did process all the messages. and theres some business logic in setting it to 1 – user17090811 Jan 19 '22 at 04:39

0 Answers0