Minimizing SQS Data Loss During Downtime
An application consumes messages from an Amazon Simple Queue Service (Amazon SQS) queue. The application experiences occasional downtime. As a result of the downtime, messages within the queue expire and are deleted after 1 day. The message deletions cause data loss for the application. Which solutions will minimize data loss for the application? (Choose two.)
Community Votes
62% of anonymous learners picked answer AC. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
The core concept is SQS durability during unavailability; the trap is assuming DLQs handle expired messages or that visibility timeouts affect persistence.
This question addresses how to prevent data loss in Amazon SQS when applications experience downtime. The correct solutions involve extending message retention and utilizing dead-letter queues for recovery.
Many candidates choose B (Visibility Timeout) or D (Delay Queue), confusing message delivery timing with message storage duration.
Community Discussion (5 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
To minimize data loss, you must ensure messages survive the downtime period. Increasing the message retention period (A) directly extends the time messages stay in the queue before expiration, preventing deletion while the app is down. Attaching a dead-letter queue (C) allows failed or unprocessed messages to be routed there after maximum receive counts are exhausted, preserving them for manual inspection or reprocessing rather than permanent deletion.Why the Other Options Are Wrong
Increasing the visibility timeout (B) only delays when a processed message becomes visible again; it does not prevent expiration if the app is completely down. Using a delay queue (D) postpones initial delivery but does not extend the overall retention period. Reducing processing time (E) helps throughput but does not solve the problem of messages expiring during extended downtime.Community Comment Notes
The community majority correctly identified AC, though some argued against C because DLQs typically require message processing attempts. However, as noted by users like matt200, DLQs are crucial for preventing data loss from failed deliveries. One user altonh incorrectly claimed C is invalid because messages go to DLQ only if processed, missing that SQS can move messages to DLQ based on receive count even if they are never successfully 'completed'.Official Reference
Exam Strategy
Always distinguish between message visibility/delivery controls and message persistence/retention settings when dealing with data loss scenarios.
Frequently Asked Questions
Does increasing visibility timeout prevent data loss?
No. Visibility timeout only affects when a message becomes available after being received, not how long it stays in the queue before expiration.
Can DLQs save messages that expire due to downtime?
DLQs do not prevent expiration, but they capture messages that fail processing repeatedly, preventing permanent deletion and allowing recovery.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →