I agree with Druvil here. We want to prevent the case that a log segment is deleted by the log retention scheduler while the log cleaner thread is doing a round of cleaning. So, it seems it's better for a compacted topic to handle log-start-offset change in the log cleaner thread. We can call log.deleteLogStartOffsetBreachedSegments in LogCleaner.cleanOrSleep(). This is similar to how a compacted + delete topic handles log retention.
[ Full content available at: https://github.com/apache/kafka/pull/5646 ] This message was relayed via gitbox.apache.org for [email protected]
