All Questions
Dynamodb hard

A 'Poison Pill' record in a DynamoDB Stream (a record that crashes the consumer Lambda) is blocking the shard. What is the most robust way to recover without losing data?

  1. A Delete the entire DynamoDB table and restore from backup.
  2. B Enable `BisectBatchOnFunctionError`: This causes the Lambda service to split the failing batch into two halves and retry them separately, recursively isolating and discarding only the single failing record while processing the rest.
  3. C Manually delete the poison record from the stream using the CLI.
  4. D Increase the Lambda's memory to 10GB to force-process the bad data.

One system design question a day, with spaced repetition so the ones you miss come back.

Get the app

Related questions