Skip to content

LogCleanerManager

LogCleanerManager is used exclusively by LogCleaner to manage the state of partitions for Log Cleanup.

Creating Instance

LogCleanerManager takes the following to be created:

  • Log directories
  • TopicPartitions and their UnifiedLogs (Pool[TopicPartition, UnifiedLog])
  • LogDirFailureChannel

LogCleanerManager is created along with a LogCleaner.

Performance Metrics

LogCleanerManager is a KafkaMetricsGroup and registers the following performance metrics in kafka.log:type=LogCleanerManager group.

Metric Name Description
max-dirty-percent
time-since-last-run-ms
uncleanable-bytes (for every log directory)
uncleanable-partitions-count (for every log directory)

LogCleanerManager in jconsole

grabFilthiestCompactedLog

grabFilthiestCompactedLog(
  time: Time,
  preCleanStats: PreCleanStats = new PreCleanStats()): Option[LogToClean]

grabFilthiestCompactedLog...FIXME


grabFilthiestCompactedLog is used when:

isCompactAndDelete

isCompactAndDelete(
  log: UnifiedLog): Boolean

isCompactAndDelete holds true when the given UnifiedLog is compact and delete.


isCompactAndDelete holds true only when both compact and delete cleanup policies are included in the cleanup.policy configuration property. Otherwise, isCompactAndDelete flag is disabled (false).

Logging

LogCleanerManager uses kafka.log.LogCleaner logger.