[
https://issues.apache.org/jira/browse/CASSANDRA-16192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17245253#comment-17245253
]
Benjamin Lerer commented on CASSANDRA-16192:
--------------------------------------------
[~marcuse], [~jjirsa] while looking into the {{pendingTasks}} metric I
discovered that it relies on
{{AbstractCompactionStrategy.getEstimatedRemainingTasks()}} to determine the
amount of compactions remaining to perform.
I found out that the way {{getEstimatedRemainingTasks()}} work is different
depending on the strategy. {{LeveledCompactionStrategy}} will recompute the
number of remaining tasks each time it is called while other strategies will
compute the number of remaining tasks in {{getNextBackgroundSSTables}} and will
cache the value. That value will be the one returned by
{{getEstimatedRemainingTasks()}} until {{getNextBackgroundSSTables}} is called
again.
That approach of caching the number of remaining tasks makes the
{{pendingTasks}} metric inaccurate as it does not take into account newly
flushed SSTables or compacted ones until {{getNextBackgroundSSTables}} is
called again.
It also look that the cached number of remaining tasks is not modified when we
force a major compaction and that by consequence the number of remaining tasks
will only be updated once the major compaction it completely done, and the
automatic compactions are renabled
It is not clear to me how accurate we want the {{pendingTasks}} metric to be
and I would like to have your opinion on that point.
Another point, I wanted to raise is that due to the way
{{getEstimatedRemainingTasks()}} works, it looks that we base our compactions
prioritisation on outdated estimations (see
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/compaction/CompactionStrategyHolder.java#L109).
> Add more tests to cover compaction metrics
> ------------------------------------------
>
> Key: CASSANDRA-16192
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16192
> Project: Cassandra
> Issue Type: Improvement
> Components: Test/unit
> Reporter: Benjamin Lerer
> Assignee: Adam Holmberg
> Priority: Normal
> Fix For: 4.0-beta
>
>
> Some compaction metrics do not seems to be tested.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]