Courseiva

SAA-C03 Design Resilient Architectures Practice Question

A worker consumes messages from an Amazon SQS queue. Some messages consistently fail validation and are retried until the worker can no longer process them. What is the most appropriate AWS mechanism to handle these poison messages while keeping the queue usable?

⚠ Common exam trap

Many candidates think increasing retries or message size (Option A) solves the problem, but the exam specifically tests the concept of isolating poison messages via a DLQ with a receive-count-based redrive policy to maintain queue availability.

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

✓

Send failing messages to an SQS dead-letter queue (DLQ) using a redrive policy based on receive count.

An SQS dead-letter queue (DLQ) with a redrive policy based on receive count allows messages that repeatedly fail processing (poison pills) to be moved out of the main queue after a specified number of retries. This keeps the main queue operational for valid messages and isolates problematic messages for later analysis or manual intervention.

Answer analysis

Option-by-option breakdown

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

  • ✗

    Enable SQS long polling and increase the maximum message size for the queue.

    Why it's wrong here

    Long polling merely reduces empty receive attempts by waiting for messages to arrive, and enlarging the maximum message size accommodates bigger payloads; neither alters SQS's retry behavior. A poison message that causes the worker to fail is still returned after every visibility timeout expiry. These settings neither count receive attempts nor quarantine bad messages, so the retry loop and wasted consumer capacity continue indefinitely.

  • ✓

    Send failing messages to an SQS dead-letter queue (DLQ) using a redrive policy based on receive count.

    Why this is correct

    A DLQ with a redrive policy isolates poison messages. After a message is received and fails processing more than the configured maxReceiveCount, SQS moves it to the DLQ, preventing it from continually blocking retries in the source queue.

  • ✗

    Change the queue to a FIFO queue and handle duplicates in the worker code without DLQs.

    Why it's wrong here

    FIFO queues provide strict ordering and message deduplication within a 5-minute window, but deduplication only prevents duplicate message IDs from being enqueued, not repeated deliveries of the same message after a processing failure. A worker that throws an exception on a poison message will trigger the same visibility timeout retry logic seen in standard queues. Without a redrive policy to a DLQ, the failed message remains in the FIFO queue and can block subsequent messages, and you still have no quarantine mechanism.

  • ✗

    Delete the queue and recreate it hourly to clear out any problematic messages.

    Why it's wrong here

    Recreating the queue hourly is a blunt, manual operational act that discards all in-flight and pending messages, including legitimate ones, and it does not selectively isolate the specific message that keeps failing. It introduces data loss, breaks the queue URL for existing producers/consumers, and requires downtime or reconfiguration. This approach is neither automatic nor architectural; it masks symptoms only until the next poison message appears and does not address the root cause.

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.