Courseiva
Data EngineeringmediumMultiple ChoiceObjective-mapped

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 ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

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 →

How Courseiva writes practice questions · Editorial policy

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.