A company uses Amazon DynamoDB for a session management system. They need to store session data with a TTL of 24 hours. However, they notice that expired items are not being deleted promptly, causing storage costs to increase. What is the most likely cause?
TTL deletions are eventually consistent and can take up to 48 hours.
Why this answer
Option C is correct because DynamoDB's TTL mechanism typically deletes expired items within 48 hours, not immediately. The service processes TTL deletions as a background process, and while items are marked as expired at the TTL time, actual deletion can be delayed up to 48 hours. This explains why expired session data persists and increases storage costs despite TTL being properly configured.
Exam trap
The trap here is that candidates assume TTL deletions are instantaneous or happen within minutes, but AWS explicitly documents a 48-hour window, making delayed deletion the expected behavior rather than a misconfiguration.
How to eliminate wrong answers
Option A is wrong because write capacity affects throughput for writes, not the timing of TTL-based deletions; TTL deletions consume no write capacity units. Option B is wrong because the question states the company 'needs to store session data with a TTL of 24 hours,' implying TTL is enabled; if TTL were not enabled, no expired items would be deleted at all, not just delayed. Option D is wrong because DynamoDB TTL supports both Number and String data types for the TTL attribute, as long as the value is a Unix epoch timestamp; setting it as a string does not prevent deletion, though it must be a valid epoch value.