Every time cassandra creates a new sstable , it will call the
CompactionManager.submitMinorIfNeeded  ? And if the number of memtables is
beyond  MinimumCompactionThreshold  , the minor compaction will be called.
And there is also a method named CompactionManager.submitMajor , and the
call relationship is :

NodeCmd -- > NodeProbe -->StorageService.forceTableCompaction -->
Table.forceCompaction -->CompactionManager.performMajor -->
CompactionManager.submitMajor

ColumnFamilyStore.forceMajorCompaction --> CompactionManager.performMajor
--> CompactionManager.submitMajor


HintedHandOffManager
 --> CompactionManager.submitMajor

So i have 3 questions:
1. Once a new sstable has been created ,
CompactionManager.submitMinorIfNeeded  will be called , minorCompaction
maybe called .
    But when will the majorCompaction be called ? Just the NodeCmd ?
2. Which jobs will minorCompaction and majorCompaction do ?
    Will minorCompaction delete the data that have been marked as deleted ?
    And how about the major compaction ?
3. When gc be called ? Every time compaction been called?



-- 
Best regards,

Ivy Tang

Reply via email to