You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "huxihx (JIRA)" <ji...@apache.org> on 2018/01/07 03:50:03 UTC

[jira] [Updated] (KAFKA-6429) dirtyNonActiveSegments in `cleanableOffsets` should only be created when log.cleaner.min.compaction.lag.ms > 0

     [ https://issues.apache.org/jira/browse/KAFKA-6429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

huxihx updated KAFKA-6429:
--------------------------
    Priority: Minor  (was: Major)

> dirtyNonActiveSegments in `cleanableOffsets` should only be created when log.cleaner.min.compaction.lag.ms > 0
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-6429
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6429
>             Project: Kafka
>          Issue Type: Bug
>          Components: log
>    Affects Versions: 1.0.0
>            Reporter: huxihx
>            Assignee: huxihx
>            Priority: Minor
>
> LogCleanerManager.cleanableOffsets always created objects to hold all dirty non-active segments, as shown below:
> {code:java}
> // dirty log segments
>     val dirtyNonActiveSegments = log.logSegments(firstDirtyOffset, log.activeSegment.baseOffset)
> {code}
> Actually, these objects will not be used when `log.cleaner.min.compaction.lag.ms` is 0 which is already the default value. We could defer the creation. In doing so can we reduce the heap size but also avoid the blocking access to the segments incurred by Log.segments.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)