18
votes

I am writing log messages into a Kafka Topic and I want the retention of this topic to be permanent. I have seen in Kafka and Kafka Connect (_schemas, connect-configs, connect-status, connect-offsets, etc) that there are special topics that are not deleted by the log retention time. How do I enforce a topic to be like these other special topics? Is it the naming convention or some other properties?

Thanks

3

3 Answers

39
votes

If you want to retain all topics forever, you can set both log.retention.hours and log.retention.bytes to -1.

6
votes

These special topics are compacted topics. This means they are made up of keyed messages and only keep the list recent key. A full write here. This is probably what you want for infinite retention time in most cases.

0
votes

You can find the default values for parameters here: https://jaceklaskowski.gitbooks.io/apache-kafka/content/kafka-properties.html

log.retention.bytes and log.retention.ms can be set to -1 if you want to keep the data in topics forever.