Question #564
A developer has an application that makes batch write requests directly to Amazon DynamoDB using the BatchWriteItem low-level API operation. The responses frequently return values in the UnprocessedItems element.
Which actions should the developer take to increase the resiliency of the application when the batch response includes values in UnprocessedItems? (Choose two.)
Retry the batch operation immediately.
Retry the batch operation with exponential backoff and randomized delay.
Update the application to use an AWS software development kit (AWS SDK) to make the requests.
Increase the provisioned read capacity of the DynamoDB tables that the operation accesses.
Increase the provisioned write capacity of the DynamoDB tables that the operation accesses.
Explanation
When DynamoDB's BatchWriteItem returns UnprocessedItems, it's often due to throttling from exceeding provisioned write capacity. Retrying with exponential backoff (B) is an AWS best practice to handle throttling by spacing out retries, reducing further congestion. Increasing write capacity (E) addresses the root cause by allowing more writes per second.
Option A is incorrect because immediate retries can worsen throttling. Option C is not directly relevant since the SDK doesn't automatically retry UnprocessedItems; manual handling is still required. Option D is irrelevant as read capacity doesn't affect write operations. Key points: Use exponential backoff for retries and ensure sufficient write capacity to minimize throttling.
Answer
The correct answer is: BE