[ https://issues.apache.org/jira/browse/CASSANDRA-6621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14044015#comment-14044015 ]
sankalp kohli commented on CASSANDRA-6621: ------------------------------------------ If we are doing it in 2.0, then we need to make a note in NEWS.txt that streaming won't be supported during upgrade. Also CASSANDRA-7414 will be key to recover from not so full levels. Your patch looks good otherwise. > STCS fallback is not optimal when bootstrapping > ----------------------------------------------- > > Key: CASSANDRA-6621 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6621 > Project: Cassandra > Issue Type: Improvement > Reporter: Bartłomiej Romański > Assignee: Marcus Eriksson > Priority: Minor > Labels: compaction, streaming > Fix For: 2.0.9 > > Attachments: 0001-wip-keep-sstable-level-when-bootstrapping.patch > > > The initial discussion started in (closed) CASSANDRA-5371. I've rewritten my > last comment here... > After streaming (e.g. during boostrap) Cassandra places all sstables at L0. > At the end of the process we end up with huge number of sstables at the > lowest level. > Currently, Cassandra falls back to STCS until the number of sstables at L0 > reaches the reasonable level (32 or something). > I'm not sure if falling back to STCS is the best way to handle this > particular situation. I've read the comment in the code and I'm aware why it > is a good thing to do if we have to many sstables at L0 as a result of too > many random inserts. We have a lot of sstables, each of them covers the whole > ring, there's simply no better option. > However, after the bootstrap situation looks a bit different. The loaded > sstables already have very small ranges! We just have to tidy up a bit and > everything should be OK. STCS ignores that completely and after a while we > have a bit less sstables but each of them covers the whole ring instead of > just a small part. I believe that in that case letting LCS do the job is a > better option that allowing STCS mix everything up before. > Is there a way to disable STCS fallback? I'd like to test that scenario in > practice during our next bootstrap... > Does Cassandra really have to put streamed sstables at L0? The only thing we > have to assure is that sstables at any given level do not overlap. If we > stream different regions from different nodes how can we get any overlaps? -- This message was sent by Atlassian JIRA (v6.2#6252)