exam questions

Exam AWS Certified Data Analytics - Specialty All Questions

View all questions & answers for the AWS Certified Data Analytics - Specialty exam

Exam AWS Certified Data Analytics - Specialty topic 1 question 96 discussion

A company has an application that uses the Amazon Kinesis Client Library (KCL) to read records from a Kinesis data stream.
After a successful marketing campaign, the application experienced a significant increase in usage. As a result, a data analyst had to split some shards in the data stream. When the shards were split, the application started throwing an ExpiredIteratorExceptions error sporadically.
What should the data analyst do to resolve this?

  • A. Increase the number of threads that process the stream records.
  • B. Increase the provisioned read capacity units assigned to the stream's Amazon DynamoDB table.
  • C. Increase the provisioned write capacity units assigned to the stream's Amazon DynamoDB table.
  • D. Decrease the provisioned write capacity units assigned to the stream's Amazon DynamoDB table.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
VikG12
Highly Voted 3 years, 6 months ago
If the shard iterator expires immediately, before you can use it, this might indicate that the DynamoDB table used by Kinesis does not have enough capacity to store the lease data. This situation is more likely to happen if you have a large number of shards. To solve this problem, increase the write capacity assigned to the shard table.
upvoted 23 times
...
VikG12
Highly Voted 3 years, 6 months ago
Should be 'C'.
upvoted 11 times
...
cox1960
Most Recent 1 year, 10 months ago
Selected Answer: C
If the shard iterator expires immediately, before you can use it, this might indicate that the DynamoDB table used by Kinesis does not have enough capacity to store the lease data. This situation is more likely to happen if you have a large number of shards. To solve this problem, increase the write capacity assigned to the shard table.
upvoted 1 times
...
pk349
1 year, 11 months ago
C: I passed the test
upvoted 1 times
...
sly_tail
2 years ago
A. Seems like A per this https://github.com/awslabs/amazon-kinesis-client/issues/701
upvoted 1 times
sly_tail
2 years ago
No it's wrong. "A new shard iterator is returned by every GetRecords request (as NextShardIterator), which you then use in the next GetRecords request (as ShardIterator). Typically, this shard iterator does not expire before you use it. However, you may find that shard iterators expire because you have not called GetRecords for more than 5 minutes, or because you've performed a restart of your consumer application. If the shard iterator expires immediately, before you can use it, this might indicate that the DynamoDB table used by Kinesis does not have enough capacity to store the lease data. This situation is more likely to happen if you have a large number of shards. To solve this problem, increase the write capacity assigned to the shard table. For more information, see Using a Lease Table to Track the Shards Processed by the KCL Consumer Application." https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#shard-iterator-expires-unexpectedly Hence C
upvoted 2 times
...
...
maxvis
2 years, 1 month ago
Selected Answer: C
https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#shard-iterator-expires-unexpectedly
upvoted 3 times
...
Arjun777
2 years, 2 months ago
The ExpiredIteratorExceptions error indicates that the KCL is attempting to read records from a shard that has been closed or split. When a shard is split, two new shards are created, and records are redistributed among them. Any open iterator to the original shard becomes invalid and may return this error. To resolve this issue, the data analyst should increase the number of worker threads that process the stream records. This will help ensure that records are read from the new shards as quickly as possible and reduce the likelihood of the KCL attempting to read from a closed or split shard. Option A is therefore the correct answer. Increasing the provisioned read or write capacity units assigned to the stream's Amazon DynamoDB table would not resolve this issue.
upvoted 1 times
...
cloudlearnerhere
2 years, 6 months ago
C is the right answer For each Amazon Kinesis Data Streams application, KCL uses a unique lease table (stored in a Amazon DynamoDB table) to keep track of the shards in a KDS data stream that are being leased and processed by the workers of the KCL consumer application. For each Amazon Kinesis Data Streams application, KCL uses a unique lease table (stored in a Amazon DynamoDB table) to keep track of the shards in a KDS data stream that are being leased and processed by the workers of the KCL consumer application. For each Amazon Kinesis Data Streams application, KCL uses a unique lease table (stored in a Amazon DynamoDB table) to keep track of the shards in a KDS data stream that are being leased and processed by the workers of the KCL consumer application.
upvoted 4 times
...
rocky48
2 years, 9 months ago
Selected Answer: C
Should be 'C'.
upvoted 3 times
...
dushmantha
2 years, 10 months ago
KCL uses DynamoDB for checkpointing and coordination. There for DynamoDB table shoud be fast enough to handle the throughput. This exception means that it is not, so we need to incrase WCUs.
upvoted 2 times
...
lexaneon
2 years, 10 months ago
"C" https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#shard-iterator-expires-unexpectedly
upvoted 1 times
...
YahiaAglan74
2 years, 11 months ago
Selected Answer: C
Go with answer C
upvoted 1 times
...
certificationJunkie
2 years, 11 months ago
such a vague question. The question does not even mention that kinesis data stream is writing to Dynamodb. It just mentions some application is reading data from Kinesis using KCL. But C looks most sensible with assumption that application is writing output to DynamoDb
upvoted 3 times
...
datamech001
3 years, 2 months ago
Shard Iterator Expires Unexpectedly A new shard iterator is returned by every GetRecords request (as NextShardIterator), which you then use in the next GetRecords request (as ShardIterator). Typically, this shard iterator does not expire before you use it. However, you may find that shard iterators expire because you have not called GetRecords for more than 5 minutes, or because you've performed a restart of your consumer application. If the shard iterator expires immediately, before you can use it, this might indicate that the DynamoDB table used by Kinesis does not have enough capacity to store the lease data. This situation is more likely to happen if you have a large number of shards. To solve this problem, increase the write capacity assigned to the shard table. For more information, see Using a Lease Table to Track the Shards Processed by the KCL Consumer Application.
upvoted 1 times
...
aws2019
3 years, 5 months ago
Agree with C
upvoted 1 times
...
ThomasKalva
3 years, 5 months ago
C; read text from blog https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#shard-iterator-expires-unexpectedly If the shard iterator expires immediately, before you can use it, this might indicate that the DynamoDB table used by Kinesis does not have enough capacity to store the lease data. This situation is more likely to happen if you have a large number of shards. To solve this problem, increase the write capacity assigned to the shard table. For more information, see Using a Lease Table to Track the Shards Processed by the KCL Consumer Application.
upvoted 5 times
...
guerilla1987
3 years, 6 months ago
Go with C: https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#shard-iterator-expires-unexpectedly
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago