Bird
Raised Fist0
GCPcloud~5 mins

Dead letter topics in GCP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a dead letter topic in Google Cloud Pub/Sub?
A dead letter topic is a special Pub/Sub topic where messages that cannot be successfully processed after multiple attempts are sent. It helps to isolate and analyze problematic messages without losing them.
Click to reveal answer
beginner
Why use a dead letter topic in message processing?
Using a dead letter topic prevents message loss by capturing failed messages separately. This allows developers to investigate and fix issues without blocking the main message flow.
Click to reveal answer
intermediate
How do you configure a dead letter topic in Google Cloud Pub/Sub?
You configure a dead letter topic by setting it on a subscription with a maximum delivery attempt count. After the max attempts, failed messages are sent to the dead letter topic automatically.
Click to reveal answer
beginner
What happens to messages sent to a dead letter topic?
Messages sent to a dead letter topic remain there until manually reviewed or reprocessed. They are not lost and can be used to debug or retry processing later.
Click to reveal answer
intermediate
Can a dead letter topic have its own subscriptions?
Yes, a dead letter topic is a normal Pub/Sub topic and can have subscriptions. This allows teams to process or analyze dead letter messages separately.
Click to reveal answer
What triggers a message to be sent to a dead letter topic in Pub/Sub?
AMessage is published for the first time
BMessage is successfully processed
CMessage fails processing after max delivery attempts
DMessage is deleted manually
Which of the following is true about dead letter topics?
AThey store failed messages for later analysis
BThey automatically delete messages after 1 hour
CThey prevent messages from being published
DThey replace the main topic
How do you specify the maximum delivery attempts before sending to a dead letter topic?
ASet maxDeliveryAttempts in the IAM policy
BSet maxDeliveryAttempts in the topic configuration
CSet maxDeliveryAttempts in the publisher settings
DSet maxDeliveryAttempts in the subscription configuration
Can you reprocess messages from a dead letter topic?
ANo, messages are deleted immediately
BYes, by subscribing and republishing them
CNo, they are archived permanently
DYes, but only with special permissions
What is the main benefit of using dead letter topics?
APrevents message loss and aids debugging
BImproves message delivery speed
CAutomatically fixes message errors
DEncrypts messages for security
Explain what a dead letter topic is and why it is useful in Google Cloud Pub/Sub.
Think about what happens when message processing fails repeatedly.
You got /3 concepts.
    Describe how to configure a dead letter topic for a Pub/Sub subscription and what happens when messages reach the max delivery attempts.
    Focus on subscription settings and message lifecycle.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a dead letter topic in Google Cloud Pub/Sub?
      easy
      A. To store all successfully delivered messages
      B. To speed up message delivery
      C. To catch messages that fail delivery multiple times
      D. To encrypt messages before sending

      Solution

      1. Step 1: Understand message delivery failures

        Messages that cannot be delivered after several attempts need special handling to avoid blocking the main flow.
      2. Step 2: Role of dead letter topics

        Dead letter topics collect these failed messages separately so the main topic stays clean and reliable.
      3. Final Answer:

        To catch messages that fail delivery multiple times -> Option C
      4. Quick Check:

        Dead letter topic = catch failed messages [OK]
      Hint: Dead letter topics catch failed messages only [OK]
      Common Mistakes:
      • Thinking dead letter topics speed delivery
      • Confusing dead letter topics with encryption
      • Assuming they store successful messages
      2. Which block in a Pub/Sub subscription configuration is used to set a dead letter topic?
      easy
      A. message_storage_policy
      B. retry_policy
      C. ack_deadline_seconds
      D. dead_letter_policy

      Solution

      1. Step 1: Identify configuration blocks for subscriptions

        Pub/Sub subscriptions have specific blocks for retry, dead letter, and storage policies.
      2. Step 2: Locate dead letter topic setting

        The dead_letter_policy block is where you specify the dead letter topic and max delivery attempts.
      3. Final Answer:

        dead_letter_policy -> Option D
      4. Quick Check:

        Dead letter topic set in dead_letter_policy [OK]
      Hint: Dead letter topic is in dead_letter_policy block [OK]
      Common Mistakes:
      • Confusing with retry_policy block
      • Using message_storage_policy incorrectly
      • Setting dead letter topic in ack_deadline_seconds
      3. Given this subscription config snippet:
      {
        "dead_letter_policy": {
          "dead_letter_topic": "projects/myproj/topics/dlt",
          "max_delivery_attempts": 5
        }
      }

      What happens when a message fails delivery 6 times?
      medium
      A. The message is retried indefinitely
      B. The message is sent to the dead letter topic
      C. The message is deleted immediately
      D. The message is sent back to the main topic

      Solution

      1. Step 1: Understand max_delivery_attempts meaning

        Messages are retried up to the max_delivery_attempts count before moving to dead letter topic.
      2. Step 2: Apply max_delivery_attempts = 5

        After 5 failed attempts, the 6th failure triggers sending the message to the dead letter topic.
      3. Final Answer:

        The message is sent to the dead letter topic -> Option B
      4. Quick Check:

        Failures > max_delivery_attempts = dead letter send [OK]
      Hint: Messages move to dead letter after max attempts exceeded [OK]
      Common Mistakes:
      • Thinking messages retry forever
      • Assuming immediate deletion on failure
      • Believing message returns to main topic
      4. You configured a dead letter topic but messages are not appearing there after failures. What is a likely cause?
      medium
      A. Dead letter topic does not exist or lacks permissions
      B. max_delivery_attempts is set to 1
      C. Subscription ack deadline is too long
      D. Main topic has no messages

      Solution

      1. Step 1: Check dead letter topic existence and permissions

        If the dead letter topic is missing or the subscription lacks publish permission, messages cannot be sent there.
      2. Step 2: Understand other options

        max_delivery_attempts=1 means one try before dead letter, ack deadline affects delivery timing, and main topic empty means no messages to fail.
      3. Final Answer:

        Dead letter topic does not exist or lacks permissions -> Option A
      4. Quick Check:

        Dead letter topic must exist and be accessible [OK]
      Hint: Dead letter topic must exist and allow publishing [OK]
      Common Mistakes:
      • Ignoring permissions errors
      • Confusing ack deadline with dead letter setup
      • Assuming empty main topic causes dead letter issues
      5. You want to ensure messages that fail more than 3 times go to a dead letter topic, but also want to limit the total retry time to 10 minutes. Which configuration approach is best?
      hard
      A. Set dead_letter_policy.max_delivery_attempts to 3 and configure retry_policy.minimum_backoff and maximum_backoff to limit retry duration
      B. Set dead_letter_policy.max_delivery_attempts to 10 and rely on ack deadline for timing
      C. Only set retry_policy.maximum_backoff to 10 minutes without dead letter policy
      D. Set dead_letter_policy.max_delivery_attempts to 3 and disable retries

      Solution

      1. Step 1: Use max_delivery_attempts to limit retries

        Setting max_delivery_attempts to 3 ensures messages move to dead letter after 3 failed deliveries.
      2. Step 2: Control retry timing with retry_policy

        Configuring minimum and maximum backoff controls how long retries take, helping keep total retry time within 10 minutes.
      3. Step 3: Evaluate other options

        Set dead_letter_policy.max_delivery_attempts to 10 and rely on ack deadline for timing ignores retry timing, C lacks dead letter handling, and D disables retries which may lose messages prematurely.
      4. Final Answer:

        Set dead_letter_policy.max_delivery_attempts to 3 and configure retry_policy minimum and maximum backoff -> Option A
      5. Quick Check:

        Combine max_delivery_attempts and retry_policy for retries and dead letter [OK]
      Hint: Use max_delivery_attempts plus retry_policy for timing control [OK]
      Common Mistakes:
      • Ignoring retry_policy for timing
      • Disabling retries loses messages
      • Setting max_delivery_attempts too high
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard