exam questions

Exam AWS Certified Developer Associate All Questions

View all questions & answers for the AWS Certified Developer Associate exam

Exam AWS Certified Developer Associate topic 1 question 273 discussion

Exam question from Amazon's AWS Certified Developer Associate
Question #: 273
Topic #: 1
[All AWS Certified Developer Associate Questions]

A developer has an application that makes batch requests directly to Amazon DynamoDB by using the BatchGetltem 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.)

  • A. Retry the batch operation immediately.
  • B. Retry the batch operation with exponential backoff and randomized delay.
  • C. Update the application to use an AWS software development kit (AWS SDK) to make the requests.
  • D. Increase the provisioned read capacity of the DynamoDB tables that the operation accesses.
  • E. Increase the provisioned write capacity of the DynamoDB tables that the operation accesses.
Show Suggested Answer Hide Answer
Suggested Answer: BD 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
fe2
Highly Voted 2 years, 5 months ago
Selected Answer: CD
The question says "frequenty". That means it is not something that you can solve by trying exponential backoff. Of course, if you use AWS SDK that would make your app mroe resilient. Since by default AWS SDK is using exponential backoff. But, for addressing the main issue, you should increase the provisioned read capacity. (because you are getting this error frequently) I would say CD is correct.
upvoted 7 times
...
xicomynor
Highly Voted 2 years, 5 months ago
Selected Answer: BC
Choosing BC as they're more related to application resiliency. ProvisionedThroughputExceededException is just one of the possible reasons. Docs state that error will happen if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. So in General, B & C will help for sure.
upvoted 6 times
...
a15ce96
Most Recent 1 year, 2 months ago
"BatchGetItem returns a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, more than 1MB" (https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html). So D makes sense. Confused between B and C since they kinda the same. SDK should have functionality mentioned in B.
upvoted 1 times
a15ce96
1 year, 2 months ago
On the other hand question says: "to increase the resiliency of the application when the batch response includes values in UnprocessedKeys". It mentions the app only. Like "how to when *it already happened*". Now, B and C make sense
upvoted 1 times
...
...
Teemo2023
1 year, 3 months ago
Selected Answer: BC
agreed with xicomynor
upvoted 1 times
...
CrescentShared
1 year, 3 months ago
Selected Answer: BC
it’s important to note that while increasing provisioned read capacity can reduce the frequency of UnprocessedKeys, it is not a complete solution by itself for handling them when they do occur.
upvoted 1 times
...
rushi0611
1 year, 10 months ago
Selected Answer: CD
Frequently gonna make the issue, so will you keep on doing this retry in batches every now and then? No right, so SDK will take care of the retry and just increase the read capacity.
upvoted 1 times
...
CyberBaby803
2 years, 2 months ago
The correct answers are B and C. When a BatchGetItem operation returns unprocessed keys, retrying the operation with exponential backoff and randomized delay would help increase the resiliency of the application by reducing the likelihood of overloading the DynamoDB service. Using an AWS SDK to make requests to DynamoDB can also help increase the resiliency of the application because it provides built-in retry logic that can handle errors such as unprocessed keys. Retrying the batch operation immediately (option A) would not give the DynamoDB service enough time to recover, and it would likely lead to further errors and failures. Increasing the provisioned read or write capacity of the DynamoDB tables (options D and E) may not be necessary if the application is only experiencing intermittent unprocessed keys errors. Increasing provisioned capacity can help improve performance, but it may not solve the underlying issue of unprocessed keys.
upvoted 2 times
...
captainpike
2 years, 2 months ago
Selected Answer: CD
I think they want us to say SDK
upvoted 1 times
...
Ankit1010
2 years, 3 months ago
Answer should be AB https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.BatchOperations Check the last paragraph. Option A - Retry the batch operation immediately is a simple solution that can help the application recover quickly from errors. When UnprocessedKeys are returned, the application can immediately retry the batch operation, which can help reduce the number of failed requests. Option B - Retry the batch operation with exponential backoff and randomized delay is a more robust solution that can help the application handle high levels of traffic and prevent it from overloading the DynamoDB service. This approach involves retrying the batch operation with an increasingly longer delay between each attempt, using exponential backoff, and adding a randomized delay to prevent multiple instances of the application from retrying the request simultaneously.
upvoted 1 times
Ankit1010
2 years, 3 months ago
Options C, D, and E are not relevant to the issue of handling UnprocessedKeys in batch responses. Using an AWS SDK (option C) may provide additional features and benefits, but it will not address the problem of UnprocessedKeys. Increasing the provisioned read or write capacity of DynamoDB tables (options D and E) will not prevent UnprocessedKeys from being returned, nor will it help the application recover from errors when they occur.
upvoted 1 times
...
...
michele_scar
2 years, 4 months ago
Selected Answer: CD
The Exponential backoff in integrated in the SDK, so C is correct. To increase the parallel reading increase RCU, so D is correct
upvoted 1 times
...
Mom305
2 years, 4 months ago
Selected Answer: BD
For B: "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" For 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." Extracted from Error Handling Documentation: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#BatchOperations
upvoted 4 times
...
KT_Yu
2 years, 5 months ago
Selected Answer: BD
B and D: For B: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html For D: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#BatchOperations
upvoted 4 times
...
braveheart22
2 years, 5 months ago
This question is a tricky one for sure, looking at the question again and deeply, I'm inclined towards B & C as the best answers.
upvoted 1 times
...
braveheart22
2 years, 5 months ago
fe2 I like your explanation and I agree with you that C & D are the best options. Yes, B is correct as well but since by default AWS SDK automatically retries the batch operation with exponential backoff and randomized delay, so I think there would be no need to pick B.
upvoted 1 times
...
fabriciollf
2 years, 5 months ago
Selected Answer: BC
B,C https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html ProvisionedThroughputExceededException Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish.
upvoted 3 times
...
ubuntu1234
2 years, 6 months ago
BC. all three B, C & D options seems to be correct , as they address the problem, but question is asking to increase the "application resiliency " , so B & C affect the application resiliency more, whereas D do not increase the application resiliency directly( its kind of more related to DynamoDB and less related to application).
upvoted 5 times
...
hamimelon
2 years, 6 months ago
BD. https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...