BeginnerCore Concepts
What is Kafka's data retention and how is it configured?
Reference answer
Kafka retains messages based on two configurable policies: time-based (retention.ms — delete messages older than this duration, default 7 days) and size-based (retention.bytes — delete oldest segments when total partition size exceeds this). Both operate at the segment granularity — whole segments are deleted, not individual messages. Additionally, log.cleanup.policy=compact enables compaction for key-based last-value retention instead of time/size deletion.
Expected key concepts: retention.ms, retention.bytes, 7 days, segments, delete, compaction, log.cleanup.policy, time-based, size-based