Resolving Kinesis ProvisionedThroughputExceededException by Increasing Shards
A company is using Amazon Kinesis Data Streams to ingest real-time clickstream data. The data is consumed by a Lambda function that writes to an S3 bucket. Recently, the Lambda function started failing with 'ProvisionedThroughputExceededException' errors. What is the MOST likely cause?
Quick Answer
The answer is that the Kinesis stream has too few shards for the data volume, as the ProvisionedThroughputExceededException directly signals that the write capacity of the existing shards has been overwhelmed. Each shard in Kinesis Data Streams supports a maximum of 1 MB per second or 1,000 records per second for writes, so when the clickstream data ingestion rate exceeds this limit, the Lambda consumer fails with this error. On the AWS Certified Machine Learning Specialty MLS-C01 exam, this question tests your understanding of Kinesis shard scaling as a core throughput management concept, often appearing in scenarios involving real-time data pipelines where Lambda is the consumer. A common trap is to assume the Lambda function itself is throttled or that the S3 bucket is the bottleneck, but the exception name explicitly points to the stream’s write capacity. Remember the mnemonic: “Shards shield throughput”—if you see ProvisionedThroughputExceededException, think shard count first.
⚠ Common exam trap
It's easy for candidates to confuse Kinesis throughput limits with Lambda concurrency or S3 capacity, but the specific exception name 'ProvisionedThroughputExceededException' is a direct indicator of insufficient shard write capacity in Kinesis.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The Kinesis stream has too few shards for the data volume.
The 'ProvisionedThroughputExceededException' error in Amazon Kinesis Data Streams indicates that the data ingestion rate exceeds the write capacity of the stream's shards. Each shard supports up to 1 MB/s or 1,000 records/s for writes. If the clickstream data volume surpasses this limit, the Lambda function, which reads from the stream, will encounter this exception. Increasing the number of shards scales the write capacity to match the data volume.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The data retention period of the stream is too short.
Why it's wrong here
Retention period does not affect throughput.
- ✗
The S3 bucket has insufficient write capacity.
Why it's wrong here
S3 scales automatically.
- ✓
The Kinesis stream has too few shards for the data volume.
Why this is correct
Insufficient shards cause ProvisionedThroughputExceededException.
- ✗
The Lambda function's reserved concurrency is set too high.
Why it's wrong here
High concurrency would not cause throttling.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
One of 1,672 original MLS-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on MLS-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company is using Amazon Kinesis Data Streams to ingest real-time clickstream data. The data is consumed by a Kinesis Data Analytics application that runs SQL queries. The application has been failing intermittently with 'ProvisionedThroughputExceededException' errors. Which action should be taken to resolve this issue?
medium- A.Disable error logging in the Kinesis Data Analytics application.
- B.Increase the record size in the Kinesis data stream.
- C.Switch from Kinesis Data Analytics to Kinesis Data Firehose.
- ✓ D.Increase the number of shards in the Kinesis data stream.
Why D: The 'ProvisionedThroughputExceededException' error indicates that the Kinesis Data Stream's read or write throughput limits have been exceeded. Increasing the number of shards in the stream directly increases the total provisioned throughput, allowing the Kinesis Data Analytics application to consume data without throttling.
Variation 2. A company uses Amazon Kinesis Data Streams for real-time clickstream analysis. The data is consumed by a Lambda function that enriches the records and stores them in Amazon S3. Recently, the Lambda function has been failing with throttling errors, and the consumer is falling behind. The team needs to increase the throughput of the consumer without changing the data format or the Lambda function code. What should the team do?
medium- A.Add a second Kinesis data stream and send duplicate records to both.
- B.Increase the batch size in the event source mapping for Lambda.
- ✓ C.Increase the number of shards in the Kinesis data stream.
- D.Increase the reserved concurrency of the Lambda function.
Why C: Increase the number of shards in the Kinesis data stream. Each shard supports a fixed number of read transactions per second and a maximum data read rate. Increasing the number of shards increases the parallelism of the stream, allowing the Lambda function to process records from multiple shards concurrently, thus increasing throughput. Option A is incorrect because adding a second stream would require duplicating data and does not address the throttling on the existing stream. Option B is incorrect because increasing the batch size may reduce the number of Lambda invocations but does not increase the parallelism of the stream; the bottleneck is the shard count. Option D is incorrect because increasing reserved concurrency does not overcome the limitation that each shard can only trigger one Lambda invocation at a time; the main constraint is the number of shards.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This MLS-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the MLS-C01 exam.