DVA-C02 Exam QuestionsBrowse all questions from this exam

DVA-C02 Exam - Question 7


A developer has an application that makes batch requests directly to Amazon DynamoDB by using the BatchGetItem low-level API operation. The responses frequently return values in the UnprocessedKeys element.

Which actions should the developer take to increase the resiliency of the application when the batch response includes values in UnprocessedKeys? (Choose two.)

Show Answer
Correct Answer: BD

To increase the resiliency of the application when the batch response includes values in UnprocessedKeys, the developer should implement a retry mechanism with exponential backoff and randomized delay. This approach helps prevent overwhelming the system with repeated immediate requests and increases the likelihood of successful retries during transient issues. Additionally, increasing the provisioned read capacity of the DynamoDB tables being accessed can help reduce the frequency of unprocessed keys by ensuring that there is sufficient read capacity to handle the requests.

Discussion

17 comments
Sign in to comment
brandon87Options: BD
Apr 2, 2023

(B) If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed. (D) The most likely cause of a failed read or a failed write is throttling. For BatchGetItem, one or more of the tables in the batch request does not have enough provisioned read capacity to support the operation https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff

UntamablesOptions: BC
Mar 21, 2023

B & C https://docs.aws.amazon.com/general/latest/gr/api-retries.html

konieczny69
Jan 29, 2024

C already handles retries, why would want to to do that manually?

SherzodBekOptions: BD
Dec 14, 2023

B & D. B is correct. Because in the question, it is mentioned that low-level API is being used.It means exponential backoff can be implemented manually. D is correct. Because there is a frequently keyword in the question. If UnprocessedKeys error occurs frequently, DynamoDB doesn't have enough capacity to process requests. So read capacity should be increased.

Sisanda_giiven
Jan 22, 2024

Correct answer is B & D B- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.BatchOperations D - https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html

CrescentShared
Feb 2, 2024

Why it's suggesting using SDK in the question from below link but not using C in this question? https://www.examtopics.com/discussions/amazon/view/96246-exam-aws-certified-developer-associate-topic-1-question-437/

DeaconStJohnOptions: BC
Mar 27, 2024

the aws documentation for unprocessedkeys reads: "If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed." Therefore I am taking the two options that provide this functionality. https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html

AbdlhinceOptions: BC
Nov 2, 2023

B. This is a good practice to handle throttling errors and avoid overwhelming the server with too many requests at the same time. Exponential backoff means increasing the waiting time between retries exponentially, such as 1 second, 2 seconds, 4 seconds, and so on. Randomized delay means adding some randomness to the waiting time, such as 1.2 seconds, 2.5 seconds, 3.8 seconds, and so on. This can help reduce the chance of collisions and spikes in the network traffic. C.This is a recommended way to interact with DynamoDB, as AWS SDKs provide high-level abstractions and convenience methods for working with DynamoDB. AWS SDKs also handle low-level details such as authentication, retry logic, error handling, and pagination for you.

CambrianOptions: BC
Jan 15, 2024

Retry with exponential backoff and randomized delay (Option B) helps prevent overwhelming the system with repeated immediate requests and increases the likelihood of successful retries during intermittent issues. Using an AWS SDK (Option C) can provide built-in features for handling transient errors and retries, making the application more resilient to issues like UnprocessedKeys in batch responses.

badsati
Feb 24, 2024

BC ...No discussion

TheFivePipsOptions: BD
Mar 4, 2024

Exponential backoff with randomized delay is a common technique used to handle transient failures and throttle errors in distributed systems like DynamoDB. This approach involves retrying the failed operation after waiting for an increasing amount of time, which helps reduce the load on the service and increases the likelihood of success during periods of high demand or throttling. If the BatchGetItem operation frequently returns values in the UnprocessedKeys element, it indicates that the table's read capacity might be insufficient to handle the requested workload. By increasing the provisioned read capacity for the DynamoDB tables, the application can better handle the read throughput requirements and reduce the likelihood of encountering UnprocessedKeys in batch responses. AWS SDK might provide additional features and simplifications for making requests, it does not directly address the issue of UnprocessedKeys in batch responses. This option might be beneficial for improving code maintainability and leveraging SDK features however.

HayLLlHuKOptions: BD
Mar 16, 2024

According to AWS docs, the answer is B and D

ibratoevOptions: BD
Mar 25, 2024

B & D is correct

apa_1Options: BD
Mar 27, 2024

B,D is correct

vinfoOptions: BD
Apr 7, 2024

B,D. La combinación de estrategias es ideal para este comportamiento

drycleansingOptions: BC
Apr 8, 2024

among B C D, it is hard to say D copes with the problem directly I guess. Increasing RCU will affects the ratio of unprocessed items but that does not mean it handles the unprocessed items.

65703c1Options: BC
May 21, 2024

BC is the correct answer.

AnandeshOptions: BC
Jul 16, 2024

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff