Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
Correctness
-
Low
-
Normal
-
User Report
-
All
-
None
-
Description
When using nodetool compactionstats to see what does the c*'s compactions are doing ,the output has got a column named "compaction type", but It seem that major compaction and minor compaction 's type are all name Compaction, after read the code I found that may be the the MAJOR_COMPACTION OperationType is not setted into AbstractCompactionTask
at this method : CompactionStrategyManager -> getMaximalTasks .When we peform a major compact without any arguments we will got this execute path :
// Some comments here
Compact.java : probe.forceKeyspaceCompaction(splitOutput, keyspace, tableNames);
--->
ColumnFamilyStore.java : cfStore.forceMajorCompaction(splitOutput);
--->
CompactionManager.java : submitMaximal(cfStore, gcBefore, splitOutput, OperationType.MAJOR_COMPACTION);
Unfortunately OperationType.MAJOR_COMPACTION is not rightly setted.
see the picture on the right I perform a major compact , and on the left the compactionstats show the type is only Compaction ;
I think it is import for us to know wether the task is a major or a minor .