When you change compaction strategy, nothing happens until the next flush. On 
the next flush, the new compaction strategy will decide what to do – if you 
change from STCS to DTCS, it will look at various timestamps of files, and 
attempt to group them by time windows based on the sstable’s minTimestamp, and 
your DTCS base_time_seconds and an ever-growing multiple of min_threshold

Generally, many people recommend doing a STCS major before changing to DTCS 
(essentially to force all sstables into the oldest possible bucket). Whether or 
not that’s ideal for you depends on why you’re using DTCS (do you want to cut 
down on compaction, or are you setting yourself up for efficient TTL 
expiration). If it’s the latter, you should be sure you understand the impact 
of STCS major on your TTL use case (no data will TTL out until all of the data 
currently on disk is ready to expire).



From:  Anuj Wadehra
Reply-To:  "user@cassandra.apache.org"
Date:  Friday, January 15, 2016 at 10:16 AM
To:  "user@cassandra.apache.org"
Subject:  Impact of Changing Compaction Strategy

Hi, 

I need to understand whether all existing sstables are recreated/updated when 
we change compaction strategy from STCS to DTCS?


Sstables are immutable by design but do we take an exception for such cases and 
update same files when an Alter statement is fired to change the compaction 
strategy?


Thanks
Anuj

Sent from Yahoo Mail on Android

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to