Bird
Raised Fist0
Kafkadevops~5 mins

Retention policies (time-based, size-based) in Kafka - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a time-based retention policy in Kafka?
A time-based retention policy in Kafka deletes messages older than a specified time limit, such as 7 days, to free up storage space.
Click to reveal answer
beginner
What does a size-based retention policy control in Kafka?
A size-based retention policy deletes the oldest messages when the total size of the log exceeds a set limit, like 1 GB, to manage disk usage.
Click to reveal answer
intermediate
How do time-based and size-based retention policies work together in Kafka?
Kafka applies both policies simultaneously: messages are deleted if they are older than the time limit or if the log size exceeds the size limit, whichever condition is met first.
Click to reveal answer
beginner
Which Kafka configuration controls the time-based retention?
The configuration 'retention.ms' sets the maximum time in milliseconds that Kafka retains a message before deleting it.
Click to reveal answer
beginner
Which Kafka configuration controls the size-based retention?
The configuration 'retention.bytes' sets the maximum size in bytes for the log before Kafka deletes older messages.
Click to reveal answer
What happens when a Kafka topic reaches its size-based retention limit?
AOldest messages are deleted to reduce log size
BNew messages are rejected
CKafka stops producing messages
DAll messages are deleted immediately
Which configuration sets the time limit for message retention in Kafka?
Aretention.bytes
Bretention.ms
Clog.segment.bytes
Dlog.retention.check.interval.ms
If both time-based and size-based retention policies are set, when are messages deleted?
AOnly when size limit is reached
BOnly when time limit is reached
CWhen either time or size limit is reached
DMessages are never deleted
What is the default behavior if no retention policy is set in Kafka?
AKafka throws an error
BMessages are deleted immediately
CMessages are deleted after 1 hour
DMessages are retained for 7 days
Which retention policy helps control disk space usage in Kafka?
ASize-based retention
BTime-based retention
CReplication factor
DPartition count
Explain how Kafka uses time-based and size-based retention policies to manage message storage.
Think about how Kafka decides when to remove old messages.
You got /3 concepts.
    Describe the Kafka configurations that control retention policies and their effects.
    Focus on the key configuration names and what they do.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the retention.ms setting control in Kafka?
      easy
      A. The maximum size of a Kafka topic
      B. How long Kafka keeps data before deleting it
      C. The number of partitions in a topic
      D. The replication factor of a topic

      Solution

      1. Step 1: Understand retention.ms meaning

        retention.ms sets the time duration Kafka retains data before deletion.
      2. Step 2: Compare with other options

        Other options relate to size, partitions, or replication, not time retention.
      3. Final Answer:

        How long Kafka keeps data before deleting it -> Option B
      4. Quick Check:

        retention.ms = time-based retention [OK]
      Hint: Remember ms means milliseconds, so it's about time [OK]
      Common Mistakes:
      • Confusing retention.ms with retention.bytes
      • Thinking it controls topic size
      • Mixing it with partition count
      2. Which of the following is the correct way to set a size-based retention policy in Kafka's topic configuration?
      easy
      A. "retention.bytes" = 1073741824
      B. "retention.time" = 604800000
      C. "retention.size" = 1073741824
      D. "retention.ms" = 1073741824

      Solution

      1. Step 1: Identify correct property for size-based retention

        The correct property is retention.bytes for size limits.
      2. Step 2: Check option values and names

        "retention.bytes" = 1073741824 uses retention.bytes with a size value (1GB). Others use wrong keys or time-based keys.
      3. Final Answer:

        "retention.bytes" = 1073741824 -> Option A
      4. Quick Check:

        Size retention uses retention.bytes [OK]
      Hint: Size retention uses bytes, so look for retention.bytes [OK]
      Common Mistakes:
      • Using retention.time instead of retention.ms
      • Using retention.size which is invalid
      • Confusing retention.ms with size setting
      3. Given a Kafka topic with retention.ms=60000 and retention.bytes=1048576, what happens when the topic data reaches 2MB before 60 seconds pass?
      medium
      A. Kafka waits until 60 seconds pass before deleting any data
      B. Kafka deletes data only if both time and size limits are reached
      C. Kafka deletes old data immediately because size limit is reached
      D. Kafka ignores retention settings and keeps all data

      Solution

      1. Step 1: Understand retention.ms and retention.bytes interaction

        Kafka deletes data when either time or size limit is reached, whichever comes first.
      2. Step 2: Analyze given values

        Size limit is 1MB, data reached 2MB before 60 seconds, so size limit triggers deletion immediately.
      3. Final Answer:

        Kafka deletes old data immediately because size limit is reached -> Option C
      4. Quick Check:

        Retention triggers on earliest limit reached [OK]
      Hint: Retention deletes when time OR size limit is reached [OK]
      Common Mistakes:
      • Thinking both limits must be reached to delete
      • Assuming time limit always overrides size
      • Ignoring size limit when time not reached
      4. You set retention.ms to a negative value in Kafka topic config. What is the likely outcome?
      medium
      A. Kafka treats it as infinite retention (never deletes data)
      B. Kafka throws a configuration error and refuses to start
      C. Kafka deletes data immediately after creation
      D. Kafka uses default retention time instead

      Solution

      1. Step 1: Check Kafka behavior for negative retention.ms

        Kafka interprets negative retention.ms as infinite retention, meaning no data deletion.
      2. Step 2: Confirm other options

        Kafka does not throw error or delete immediately; it does not revert to default automatically.
      3. Final Answer:

        Kafka treats it as infinite retention (never deletes data) -> Option A
      4. Quick Check:

        Negative retention.ms means infinite retention [OK]
      Hint: Negative retention.ms disables deletion, keeps data forever [OK]
      Common Mistakes:
      • Expecting an error on negative value
      • Assuming immediate deletion
      • Thinking default value applies automatically
      5. You want to configure a Kafka topic to keep data for 2 hours or up to 500MB, whichever limit is reached first. Which configuration is correct?
      hard
      A. "retention.ms"=7200000 only, size limit is not needed
      B. "retention.ms"=7200000 and "retention.bytes"=5000000000
      C. "retention.ms"=120 and "retention.bytes"=524288000
      D. "retention.ms"=7200000 and "retention.bytes"=524288000

      Solution

      1. Step 1: Convert 2 hours to milliseconds

        2 hours = 2 * 60 * 60 * 1000 = 7,200,000 ms.
      2. Step 2: Convert 500MB to bytes

        500MB = 500 * 1024 * 1024 = 524,288,000 bytes.
      3. Step 3: Match values to options

        "retention.ms"=7200000 and "retention.bytes"=524288000 matches both correct values; others have wrong size or time values.
      4. Final Answer:

        "retention.ms"=7200000 and "retention.bytes"=524288000 -> Option D
      5. Quick Check:

        2 hours = 7200000 ms, 500MB = 524288000 bytes [OK]
      Hint: Convert hours to ms and MB to bytes carefully [OK]
      Common Mistakes:
      • Using seconds instead of milliseconds for retention.ms
      • Confusing MB with bytes without conversion
      • Setting only one limit when both are needed
      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