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