7

We are using Lambda subscribed to SNS to process the messages. Lambda has a safety limit of 100 concurrent invocations at any time. So what happens to the throttled events ? Are they rejected or they are added to the queue to process them later ?

[Pages Visited]

  • Link1 says that Lambda functions being invoked asynchronously can absorb reasonable bursts of traffic for approximately 15-30 minutes, after which incoming events will be rejected as throttled.
  • Link2 says that if your Lambda function is invoked asynchronously and is throttled, AWS Lambda automatically retries the throttled event for up to six hours, with delays between retries. Asynchronous events are queued before they are used to invoke the Lambda function.
Mark B
  • 183,023
  • 24
  • 297
  • 295
Kartik Goyal
  • 459
  • 3
  • 15

1 Answers1

1

You can increase your concurrent limit by requesting an increase. I would assume that a throttled event would be treated like any failed event. Per the documentation it is retired twice then discarded. You can setup a Dead Letter Queue (DLQ). Failed events will be added to the configured queue and they can be re-picked up for processing. I'm also not sure if you get an error reason or not in the message in the queue so a throttled event may look the same as a failed event (not sure if that would matter to you or not). You can also monitor throttles via CloudWatch, but this would not contain the event information necessary to replay the event.

Jarred Olson
  • 3,075
  • 1
  • 19
  • 34