1-3 day latency in getting events

0

Configuration: DynamoDB streams (delete event - ttl 90 minutes) => lambda => Event Bridge => Kinesis Firehose (Delivery stream with Direct PUT => S3 bucket (firehose destination) => SQS (triggerd on object create) => lambda X

We are seeing 1-3 days delay in the lambda function X from being invoked. In some cases we are not seeing it invoked. No errors. No errors in the kinesis error logs. It looks like object is getting created after a delay in s3 bucket. Max retry is 24 hours. Where could the delay occur? Whats the best way to troubleshoot this?

1개 답변
0
수락된 답변

You did not specify what the delay is compared to. Is to to the time the item is removed from DDB?

The first place where delays can occur is in the DynamoDB streams. According to the documentation, items will be deleted from the table up to 48 hours after the time define in TTL.

The next possible delay is invocation of the Lambda function reading from DynamoDB streams in case there are many items in there. Items will be retained in the stream up to 48 hours. If you do not process them in a timely manner or you have errors in your function, it may prevent the newly added records to be processed. I recommend that you look at the IteratorAge to find out if there are delays processing the records in the stream.

Another place for delay is in Kinesis Firehose which depends on the configuration, can buffer messages up to 15 minutes before writing them to S3 (I know it can't account for the 1-3 days delay, but adding it here for completeness).

And finally, according to documentation, event notifications from S3 to SQS can sometimes take minutes or longer.

profile pictureAWS
전문가
Uri
답변함 2년 전
profile picture
전문가
검토됨 한 달 전
  • Thank you! The delay was from when the record was created in dynamo DB.

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠