Courseiva
Development with AWS ServiceseasyMultiple ChoiceObjective-mapped

DVA-C02 Development with AWS Services Practice Question

A developer is using AWS Lambda to process events from an Amazon Kinesis stream. The function has been failing with 'ProvisionedThroughputExceededException' errors when writing to a DynamoDB table. What should the developer do to resolve this issue?

⚠ Common exam trap

Test-takers frequently confuse scaling the source (Kinesis shards) or the compute (Lambda memory) with managing the downstream resource's capacity limits, leading them to choose options that increase parallelism rather than implementing proper retry and backoff logic.

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

Implement retry logic with exponential backoff in the Lambda function.

The 'ProvisionedThroughputExceededException' error indicates that the Lambda function is exceeding the write capacity units (WCUs) provisioned for the DynamoDB table. Implementing retry logic with exponential backoff in the Lambda function allows it to handle throttling gracefully by pausing and retrying failed writes, which is the standard AWS-recommended pattern for managing DynamoDB throttling.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Decrease the batch size of the Kinesis event source mapping.

    Why it's wrong here

    Decreasing the batch size of the Kinesis event source mapping reduces the number of records processed by a single Lambda invocation. While this might slightly lower the write volume per invocation, it does not fundamentally address the underlying issue of DynamoDB's provisioned write capacity being exceeded over time. The total rate of events from Kinesis to Lambda, and thus the overall write attempts to DynamoDB, remains largely unchanged, making this an ineffective solution for persistent `ProvisionedThroughputExceededException` errors.

  • Implement retry logic with exponential backoff in the Lambda function.

    Why this is correct

    Implementing retry logic with exponential backoff in the Lambda function is the standard and most effective approach for handling `ProvisionedThroughputExceededException`. This exception indicates a temporary throttling by DynamoDB when its provisioned capacity is exceeded. Exponential backoff allows the Lambda function to automatically reattempt failed writes after increasing delays, giving DynamoDB time to recover capacity and successfully process the request, thereby smoothing out write spikes and preventing data loss.

  • Increase the number of shards in the Kinesis stream.

    Why it's wrong here

    Increasing the number of shards in the Kinesis stream enhances the stream's ability to ingest and process data, increasing its throughput capacity. However, this change directly impacts Kinesis's performance, not DynamoDB's write capacity units. If anything, a higher shard count might allow Kinesis to deliver events to Lambda at an even faster rate, potentially exacerbating the `ProvisionedThroughputExceededException` if the downstream DynamoDB table cannot keep up with the increased processing speed.

  • Increase the memory allocated to the Lambda function.

    Why it's wrong here

    Increasing the memory allocated to the Lambda function primarily boosts its computational resources, including CPU and available RAM, which can improve the performance of internal processing tasks. However, the `ProvisionedThroughputExceededException` is a server-side error originating from DynamoDB, indicating its write capacity has been exhausted. Lambda's memory allocation has no direct influence on the external DynamoDB table's provisioned throughput or its ability to accept more write requests.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

Quick reference

Cloud Service Model Comparison

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

About these practice questions

This DVA-C02 question is part of Courseiva's 724-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DVA-C02 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 DVA-C02 exam.