0

I captured some bugs in my lambda function and then fixed them. Since in my lambda function, I have set maxReceiveCount=10 in the DLQ so lots of data were being retried even until I uploaded the new version.

My question is: if the data was sent before the function was updated, and because of the bugs within it was retried until the new function was uploaded, will the data in the DLQ be processed by the newer version of function? Assume I'm not going to trigger the function for a second time.

Memphis Meng
  • 1,267
  • 2
  • 13
  • 34

1 Answers1

0

After being received the maximum allowed number of times (maxReceiveCount), the message is sent to the DLQ. You have to pull the messages out of the queue to reprocess them.

If you're using event based triggering of your lambda from the queue (which you probably should be), you might want to dequeue the messages from the DLQ and put them on the normal message queue to requeue them.

Edit: A redrive policy can help achieve this : https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-dead-letter-queue-redrive.html

erik258
  • 14,701
  • 2
  • 25
  • 31