QuestionQ28

Data Operations and Support

A company is developing an inventory management system and an inventory reordering system that automatically reorders products. Both systems use Amazon Kinesis Data Streams. The inventory management system uses the Amazon Kinesis Producer Library (KPL) to publish data to a stream. The inventory reordering system uses the Amazon Kinesis Client Library (KCL) to consume data from that stream. The company configures the stream to scale up and down as required.

Before deploying the systems to production, the company finds that the inventory reordering system received duplicate data.

Which factors could have caused the reordering system to receive duplicate data?

Choose two
  • A The producer experienced network-related timeouts.
  • B The stream’s value for the IteratorAgeMilliseconds metric was too high.
  • C There was a change in the number of shards, record processors, or both.
  • D The AggregationEnabled configuration property was set to true.
  • E The max_records configuration property was set to a number that was too high.
Explanation

A network-related timeout can cause a producer to retry a write whose original request already succeeded, resulting in two records with the same data. Changes in shard count or record-processor assignments can restart KCL processing from the last checkpoint, which can redeliver records that were processed after that checkpoint. Kinesis Data Streams therefore requires consumers to handle duplicate processing.

Learn more

Community Discussion

No comments yet. Be the first to start the discussion!