- A
Set the SQS queue’s retention period to 10 years and rely on application retries to eventually succeed.
Why wrong: Retention affects how long messages remain available, but it doesn’t isolate repeatedly failing messages.
- B
Increase visibility timeout to a very large value and avoid dead-letter queues to keep ordering stable.
Why wrong: Long visibility time can delay failures, but it does not provide dead-letter isolation for poison messages.
- C
Configure a redrive policy with a dead-letter queue (DLQ) and set an appropriate visibility timeout greater than the maximum processing time.
A DLQ isolates poison messages after a receive count threshold, and correct visibility timeout prevents premature retries.
- D
Switch the queue to FIFO and remove retries in the Lambda event source mapping entirely.
Why wrong: FIFO and disabling retries do not reliably solve poison message isolation without DLQ-based redriving.
Quick Answer
The correct answer is to configure a redrive policy with a dead-letter queue (DLQ) and set an appropriate visibility timeout greater than the maximum processing time. This directly addresses poison message handling by moving messages that exceed a specified maximum receive count to the DLQ, isolating them from the main queue so they no longer block processing. The visibility timeout must be set higher than the consumer’s maximum processing time to prevent a message from becoming visible again before the consumer finishes, which avoids premature retries and false poison detection. On the SAA-C03 exam, this scenario tests your understanding of SQS’s redrive policy as the primary mechanism for poison message isolation, often paired with a trick where candidates confuse the DLQ with simply increasing the visibility timeout alone. A common trap is thinking that a longer visibility timeout solves the problem without a DLQ, but that only delays retries rather than removing the poison. Remember the mnemonic: “Redrive to survive—move poison, don’t just hide it.”
SAA-C03 Design Resilient Architectures Practice Question
This SAA-C03 practice question tests your understanding of design resilient architectures. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. A key principle to apply: a redrive policy links a source queue to a dead-letter queue (DLQ).. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
An order processing workflow uses Amazon SQS as the decoupling layer between a producer and a consumer Lambda function. The consumer intermittently fails due to a downstream dependency. The team has observed that certain “poison” messages keep being retried repeatedly and prevent other messages from being processed efficiently. Which SQS configuration most directly addresses this issue?
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
Configure a redrive policy with a dead-letter queue (DLQ) and set an appropriate visibility timeout greater than the maximum processing time.
Option C is correct because configuring a redrive policy with a dead-letter queue (DLQ) allows messages that exceed a specified maximum receive count to be moved to the DLQ, isolating poison messages. Setting the visibility timeout greater than the maximum processing time ensures the consumer has enough time to process each message before it becomes visible again, preventing premature retries. This directly addresses the issue of poison messages blocking the queue and degrading throughput.
Key principle: A redrive policy links a source queue to a dead-letter queue (DLQ).
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Set the SQS queue’s retention period to 10 years and rely on application retries to eventually succeed.
Why it's wrong here
Retention affects how long messages remain available, but it doesn’t isolate repeatedly failing messages.
- ✗
Increase visibility timeout to a very large value and avoid dead-letter queues to keep ordering stable.
Why it's wrong here
Long visibility time can delay failures, but it does not provide dead-letter isolation for poison messages.
- ✓
Configure a redrive policy with a dead-letter queue (DLQ) and set an appropriate visibility timeout greater than the maximum processing time.
Why this is correct
A DLQ isolates poison messages after a receive count threshold, and correct visibility timeout prevents premature retries.
Related concept
A redrive policy links a source queue to a dead-letter queue (DLQ).
- ✗
Switch the queue to FIFO and remove retries in the Lambda event source mapping entirely.
Why it's wrong here
FIFO and disabling retries do not reliably solve poison message isolation without DLQ-based redriving.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often confuse increasing the visibility timeout or switching to FIFO as solutions for poison messages, but neither addresses the root cause of isolating messages that repeatedly fail processing.
Detailed technical explanation
How to think about this question
Under the hood, the redrive policy uses the `maxReceiveCount` parameter in the SQS queue's attributes; when a message is received more than this count, it is automatically moved to the configured DLQ. The visibility timeout must be set to a value that accounts for the maximum processing time of the Lambda function, including any retries within the function, to avoid the message being redelivered before processing completes. In real-world scenarios, a common mistake is setting the visibility timeout too low, causing duplicate processing and increased costs, while a DLQ ensures poison messages are isolated for manual inspection or separate handling.
KKey Concepts to Remember
- A redrive policy links a source queue to a dead-letter queue (DLQ).
- DLQs isolate messages that fail processing after a `maxReceiveCount` threshold.
- Visibility timeout prevents messages from being processed by multiple consumers simultaneously.
- The `maxReceiveCount` in the redrive policy determines how many times a message is retried before moving to the DLQ.
TExam Day Tips
- 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.
Key takeaway
A redrive policy links a source queue to a dead-letter queue (DLQ).
Real-world example
How this comes up in practice
A cloud solutions architect for a retail company is evaluating services for a new workload. The correct answer here reflects best practice for the specific scenario described — not a general cloud recommendation. A redrive policy links a source queue to a dead-letter queue (DLQ). Cloud exam questions reward reading the constraint carefully: the same technology can be right or wrong depending on the use case.
What to study next
Got this wrong? Here's your next step.
Review a redrive policy links a source queue to a dead-letter queue (DLQ)., then practise related SAA-C03 questions on the same topic to reinforce the concept.
- →
Design Resilient Architectures — study guide chapter
Learn the concepts, then practise the questions
- →
Design Resilient Architectures practice questions
Targeted practice on this topic area only
- →
All SAA-C03 questions
1,040 questions across all exam domains
- →
SAA-C03 study guide
Full concept coverage aligned to exam objectives
- →
SAA-C03 practice test guide
How to use practice tests most effectively before exam day
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.
Design Secure Architectures practice questions
Practise SAA-C03 questions linked to Design Secure Architectures.
Design Resilient Architectures practice questions
Practise SAA-C03 questions linked to Design Resilient Architectures.
Design High-Performing Architectures practice questions
Practise SAA-C03 questions linked to Design High-Performing Architectures.
Design Cost-Optimized Architectures practice questions
Practise SAA-C03 questions linked to Design Cost-Optimized Architectures.
SAA-C03 VPC practice questions
Practise SAA-C03 questions linked to SAA-C03 VPC.
SAA-C03 S3 lifecycle policy questions
Practise SAA-C03 questions linked to SAA-C03 S3 lifecycle policy questions.
SAA-C03 RDS Multi-AZ questions
Practise SAA-C03 questions linked to SAA-C03 RDS Multi-AZ questions.
SAA-C03 IAM policy practice questions
Practise SAA-C03 questions linked to SAA-C03 IAM policy.
SAA-C03 Route 53 failover questions
Practise SAA-C03 questions linked to SAA-C03 Route 53 failover questions.
SAA-C03 CloudFront practice questions
Practise SAA-C03 questions linked to SAA-C03 CloudFront.
SAA-C03 NAT gateway questions
Practise SAA-C03 questions linked to SAA-C03 NAT gateway questions.
SAA-C03 VPC endpoint questions
Practise SAA-C03 questions linked to SAA-C03 VPC endpoint questions.
Practice this exam
Start a free SAA-C03 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this SAA-C03 question test?
Design Resilient Architectures — This question tests Design Resilient Architectures — A redrive policy links a source queue to a dead-letter queue (DLQ)..
What is the correct answer to this question?
The correct answer is: Configure a redrive policy with a dead-letter queue (DLQ) and set an appropriate visibility timeout greater than the maximum processing time. — Option C is correct because configuring a redrive policy with a dead-letter queue (DLQ) allows messages that exceed a specified maximum receive count to be moved to the DLQ, isolating poison messages. Setting the visibility timeout greater than the maximum processing time ensures the consumer has enough time to process each message before it becomes visible again, preventing premature retries. This directly addresses the issue of poison messages blocking the queue and degrading throughput.
What should I do if I get this SAA-C03 question wrong?
Review a redrive policy links a source queue to a dead-letter queue (DLQ)., then practise related SAA-C03 questions on the same topic to reinforce the concept.
What is the key concept behind this question?
A redrive policy links a source queue to a dead-letter queue (DLQ).
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
7 more ways this is tested on SAA-C03
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A payments API uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure?
hard- A.A FIFO queue without a redrive policy
- ✓ B.A dead-letter queue with an appropriate maxReceiveCount
- C.A larger message retention period only
- D.Short polling instead of long polling
Why B: B is correct because a dead-letter queue (DLQ) with an appropriate maxReceiveCount allows the payments API to isolate poison messages after a specified number of failed processing attempts. This prevents repeated failures from blocking useful retries, as the problematic messages are moved to the DLQ for manual inspection or separate handling, while the main queue continues processing valid messages.
Variation 2. A payments API uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure? The architecture review board prefers a managed AWS-native control.
hard- A.A FIFO queue without a redrive policy
- ✓ B.A dead-letter queue with an appropriate maxReceiveCount
- C.A larger message retention period only
- D.Short polling instead of long polling
Why B: A dead-letter queue (DLQ) with an appropriate maxReceiveCount is the correct AWS-native solution for handling poison messages. When a message is repeatedly received from an SQS queue but fails processing, it is considered a poison message. By configuring a DLQ and setting a maxReceiveCount (e.g., 3 or 5), the message is automatically moved to the DLQ after exceeding that threshold, preventing it from blocking further retries and allowing the main queue to process valid messages.
Variation 3. A payments API uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure? The design must avoid adding custom operational scripts.
hard- A.A FIFO queue without a redrive policy
- ✓ B.A dead-letter queue with an appropriate maxReceiveCount
- C.A larger message retention period only
- D.Short polling instead of long polling
Why B: 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 retries and consuming processing resources, without requiring custom operational scripts.
Variation 4. A claims workflow uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure? The team wants the control to be enforceable during normal operations.
hard- A.A FIFO queue without a redrive policy
- B.Short polling instead of long polling
- ✓ C.A dead-letter queue with an appropriate maxReceiveCount
- D.A larger message retention period only
Why C: A dead-letter queue (DLQ) with an appropriate maxReceiveCount is the correct solution because it automatically moves messages that have failed processing a specified number of times to a separate queue, preventing them from blocking subsequent retries. This enforces control during normal operations by isolating poison messages without manual intervention, allowing the main queue to continue processing valid messages.
Variation 5. A claims workflow uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure? The design must avoid adding custom operational scripts.
hard- A.A FIFO queue without a redrive policy
- B.Short polling instead of long polling
- ✓ C.A dead-letter queue with an appropriate maxReceiveCount
- D.A larger message retention period only
Why C: A dead-letter queue (DLQ) with an appropriate maxReceiveCount allows messages that repeatedly fail processing to be moved to a separate queue after a specified number of receive attempts. This prevents poison messages from blocking the main queue and consuming retry capacity, while avoiding custom operational scripts by using native SQS functionality.
Variation 6. A claims workflow uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure?
hard- A.A FIFO queue without a redrive policy
- B.Short polling instead of long polling
- ✓ C.A dead-letter queue with an appropriate maxReceiveCount
- D.A larger message retention period only
Why C: Option C is correct because 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.
Variation 7. A claims workflow uses Amazon SQS. Poison messages are repeatedly failing and blocking useful retries. What should the architect configure? The architecture review board prefers a managed AWS-native control.
hard- A.A FIFO queue without a redrive policy
- B.Short polling instead of long polling
- ✓ C.A dead-letter queue with an appropriate maxReceiveCount
- D.A larger message retention period only
Why C: 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 useful retries and is a fully managed AWS-native pattern. The architecture review board's preference for a managed solution is satisfied because SQS DLQs are a built-in feature requiring no custom code.
Keep practising
More SAA-C03 practice questions
- A content publishing system uses Lambda functions that call an unreliable third-party API. Failed events must be retaine…
- A startup runs two EC2-based workloads in the same AWS Region. Its customer-facing API is always on, and its nightly vid…
- A warehouse integration service must use shared file storage across Linux EC2 instances in multiple Availability Zones.…
- A team runs a stateless web app on Amazon EC2 behind an Application Load Balancer. During traffic spikes, new EC2 instan…
- A service in private subnets downloads product images from Amazon S3 and stores job state in DynamoDB. A NAT Gateway is…
- A static site is hosted in Amazon S3 and delivered by CloudFront. After a frontend release, the same JavaScript bundles…
Last reviewed: Jun 11, 2026
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.