Courseiva

SAA-C03 Design Resilient Architectures Practice Question

A claims workflow uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure?

⚠ Common exam trap

Many candidates confuse increasing the retention period or changing polling behavior with solving poison message issues, when the correct solution is to use a dead-letter queue with a maxReceiveCount to isolate failing messages.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

A dead-letter queue with an appropriate maxReceiveCount

A dead-letter queue (DLQ) with an appropriate maxReceiveCount allows messages that repeatedly fail processing to be moved out of the source queue after a specified number of receive attempts. This prevents poison messages from blocking the queue and consuming retry capacity, enabling the workflow to continue processing valid messages without interruption.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    A FIFO queue without a redrive policy

    Why it's wrong here

    FIFO queues provide ordering and exactly-once semantics, but they do not address message-processing failures. Without a redrive policy, a message that fails repeatedly will be retried over and over, and because FIFO messages are processed in order, it can also block the reception of subsequent messages in the same message group. The redrive policy and DLQ are what remove poison messages from circulation.

  • ✗

    Short polling instead of long polling

    Why it's wrong here

    Short polling queries only a subset of an SQS queue's servers, so it can return fewer messages per request than long polling. However, polling mode affects only receive efficiency and latency, not what happens to messages after they are received. A poison message is defined by its repeated processing failures, and short polling has no effect on the message's retry count, visibility timeout, or ability to be routed to a dead-letter queue.

  • ✓

    A dead-letter queue with an appropriate maxReceiveCount

    Why this is correct

    A dead-letter queue (DLQ) paired with a redrive policy that sets a specific maxReceiveCount (for example, 5) is the correct solution. When a message is received from the source queue more times than the configured limit without being deleted, SQS automatically moves the message to the DLQ. This quarantines unfixable messages so they can be analyzed or replayed later, preventing them from consuming worker instances and blocking normal workflow processing.

  • ✗

    A larger message retention period only

    Why it's wrong here

    Increasing the message retention period (up to 14 days) merely keeps failed messages in the queue longer before automatic removal. It does not change the receive count or cause the message to be redirected elsewhere, so the poison message will still be re-delivered and fail repeatedly for the entire retention window. The message also continues to count against queue metrics and may delay delivery of valid messages in FIFO queues. A retention change is not a poison-message mitigation.

About these practice questions

Courseiva writes every SAA-C03 question from scratch — 935 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.