Exam DVA-C02 All QuestionsBrowse all questions from this 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.)

    Correct Answer: B, D

    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
brandon87Options: BD

(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

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

konieczny69

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

DeaconStJohnOptions: BC

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

CrescentShared

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/

Sisanda_giiven

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

SherzodBekOptions: BD

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.

AnandeshOptions: BC

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

65703c1Options: BC

BC is the correct answer.

drycleansingOptions: BC

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.

vinfoOptions: BD

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

apa_1Options: BD

B,D is correct

ibratoevOptions: BD

B & D is correct

HayLLlHuKOptions: BD

According to AWS docs, the answer is B and D

TheFivePipsOptions: BD

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.

badsati

BC ...No discussion

CambrianOptions: BC

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.

AbdlhinceOptions: BC

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.