cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ying Tang <ivytang0...@gmail.com>
Subject Re: When to call the major compaction ?
Date Wed, 01 Dec 2010 11:11:15 GMT
And i have another question , what's the difference between minor
compaction and major compaction?

On 12/1/10, Chen Xinli <chen.daqi@gmail.com> wrote:
> 2010/12/1 Ying Tang <ivytang0812@gmail.com>
>
>> 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 ?
>>
>
> Yes, majorCompaction must be called manually from 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 ?
>>
>
> Compaction only mark sstables as deleted. Deletion will be done when there
> are full gc, or node restarted.
>
>
>> 3. When gc be called ? Every time compaction been called?
>>
>
> GC has nothing to do with compaction, you may mistake the two conceptions
>
>
>>
>>
>>
>> --
>> Best regards,
>>
>> Ivy Tang
>>
>>
>>
>>
>
>
> --
> Best Regards,
> Chen Xinli
>


-- 
Best regards,

Ivy Tang

Mime
View raw message