mediummultiple choiceObjective-mapped

A payments service receives payment orders by consuming messages from an Amazon SQS Standard queue. The downstream processor occasionally exceeds its processing timeout. As a result, some messages reappear in the queue and may be processed more than once.

The team wants to prevent duplicate side effects (for example, double-charging) and also ensure poison messages do not repeatedly consume processing capacity.

What approach best satisfies both goals?

Question 1mediummultiple choice
Full question →

A payments service receives payment orders by consuming messages from an Amazon SQS Standard queue. The downstream processor occasionally exceeds its processing timeout. As a result, some messages reappear in the queue and may be processed more than once.

The team wants to prevent duplicate side effects (for example, double-charging) and also ensure poison messages do not repeatedly consume processing capacity.

What approach best satisfies both goals?

Answer choices

Why each option matters

Good practice is not just finding the correct option. The wrong answers often show the exact trap the exam wants you to fall into.

A

Best answer

Implement idempotent processing (for example, store processed payment IDs in DynamoDB) and configure an SQS dead-letter queue (DLQ) using a redrive policy with an appropriate maxReceiveCount.

With SQS Standard’s at-least-once delivery, duplicates can occur. Idempotency ensures repeated processing of the same payment ID does not create duplicate side effects. A DLQ with redrive policy isolates poison messages: after a message is received and fails processing more than maxReceiveCount times, SQS moves it to the DLQ instead of cycling it back to the main queue indefinitely.

B

Distractor review

Rely only on increasing the SQS visibility timeout so duplicates rarely occur, without adding idempotency checks or a DLQ.

Increasing visibility timeout reduces how often duplicates happen, but it cannot guarantee elimination (timeouts, crashes, or long-tail processing delays can still cause re-delivery). It also does not handle poison messages that consistently fail.

C

Distractor review

Switch to a FIFO queue and delete messages immediately upon receipt to avoid duplicates.

Deleting immediately removes the ability to retry safely. If processing fails after deletion, the payment order may never be processed, causing lost or inconsistent outcomes.

D

Distractor review

Move the workload to SNS and use synchronous HTTP endpoints so the sender retries until the receiver confirms success.

SNS delivery is not a guaranteed exactly-once request/response mechanism. Even with retry behavior, duplicate deliveries and partial failures can still occur, and this approach does not directly provide the same DLQ + idempotency protections for at-least-once delivery semantics.

Common exam trap

Common exam trap: answer the scenario, not the keyword

Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.

Technical deep dive

How to think about this question

This question should be treated as a scenario, not a definition check. Identify the problem, the constraint and the best action. Then compare each option against those facts.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.
  • Use explanations to understand the rule behind the answer.

TExam Day Tips

  • Underline the problem statement mentally.
  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Related practice questions

Related SAA-C03 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

More questions from this exam

Keep practising from the same exam bank, or move into a focused topic page if this question exposed a weak area.

FAQ

Questions learners often ask

What does this SAA-C03 question test?

Read the scenario before looking for a memorised answer.

What is the correct answer to this question?

The correct answer is: Implement idempotent processing (for example, store processed payment IDs in DynamoDB) and configure an SQS dead-letter queue (DLQ) using a redrive policy with an appropriate maxReceiveCount. — Because SQS Standard is at-least-once, duplicate deliveries are expected when processing exceeds the visibility timeout or when consumers fail mid-processing. Idempotent processing prevents duplicates from causing duplicate side effects by ensuring each payment ID is applied only once. Separately, configuring an SQS DLQ via a redrive policy with maxReceiveCount prevents poison messages from continuously reappearing and consuming worker time by quarantining messages that repeatedly fail. Why others are wrong: Visibility timeout tuning alone cannot guarantee correctness; duplicates can still occur and poison messages can still loop. Deleting immediately upon receipt breaks reliability because failures after delete cannot be recovered. Moving to a synchronous HTTP retry model does not inherently provide safe handling of duplicates nor DLQ-based quarantine for poison messages in the same way as an SQS DLQ combined with idempotency.

What should I do if I get this SAA-C03 question wrong?

Then try more questions from the same exam bank and focus on understanding why the wrong options are tempting.

Discussion

Loading comments…

Sign in to join the discussion.