It does the right thing - sstables sent to other nodes maintain their min/max 
timestamps so they’ll go to the right buckets

The bucket is selected using the timestamp of the newest cell in the sstable

If you run a major compaction, you would undo the same bucketing 

Cleanup works by compacting an sstable with itself and excluding any partition 
no longer owned - it makes a new sstable, the original is deleted when the new 
one is finished


-- 
Jeff Jirsa
 

> On Nov 15, 2017, at 7:57 AM, Benjamin Heiskell <bheisk...@datto.com> wrote:
> 
> Hello all,
> 
> How does TWCS work when decommissioning a node? Does the data distribute 
> across the other nodes to the current time window's sstable (like 
> read-repairs)? Or will it compact into the sstables for the prior windows? If 
> that's how it works, how does it decide what sstable to compact with? E.g.., 
> if I ran a major compaction on one node (pushing everything into a few 
> sstables), then decommissioned it, what would you expect to see on other 
> nodes? Would the data distribute across all sstables based on the row's 
> timestamp?
> 
> I'm also a little unclear on how cleanups work. If I run a nodetool cleanup, 
> will that actually re-write the old, but not completely expired sstables of 
> prior time windows? Or are those sstables truly immutable?
> 
> I've read through the documentation 
> (http://cassandra.apache.org/doc/latest/operating/compaction.html#time-window-compactionstrategy)
>  and a few other resources 
> (http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html), but I still don't 
> have a clear understanding of how it works.
> 
> Any clarification would be greatly appreciated. Thanks!
> Ben

Reply via email to