[ 
https://issues.apache.org/jira/browse/CASSANDRA-10540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15996150#comment-15996150
 ] 

Cameron Zemek commented on CASSANDRA-10540:
-------------------------------------------

I have found one issue with the code. It states "To avoid getting very many 
tiny sstables in the per-range strategies, we keep them outside the strategy 
until the estimated size of a range-sstable is larger than 
'min_range_sstable_size_in_mb'. (estimation usually gets within a few % of the 
actual value)."

However RangeAwareCompactionStrategy::addSSTable does not check that the 
sstable meets the minimum size. This is potentially an issue with repairs that 
stream sections of sstables or if memtable only includes a single token range 
on flush.

On a different note, I notice the performance testing so far as looked at write 
amplification. I suspect RangeAwareCompaction could also improve read 
performance due to partitions more likely to exist in less sstables (ie.. 
reduces the sstables per read). It would be interesting to see SSTable leaders 
for partitions with STCS vs RangeAwareCompaction + STCS. Can get list of 
sstable leaders with ic-pstats tool have open sourced here, 
https://github.com/instaclustr/cassandra-sstable-tools

> RangeAwareCompaction
> --------------------
>
>                 Key: CASSANDRA-10540
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10540
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>              Labels: compaction, lcs, vnodes
>             Fix For: 4.x
>
>
> Broken out from CASSANDRA-6696, we should split sstables based on ranges 
> during compaction.
> Requirements;
> * dont create tiny sstables - keep them bunched together until a single vnode 
> is big enough (configurable how big that is)
> * make it possible to run existing compaction strategies on the per-range 
> sstables
> We should probably add a global compaction strategy parameter that states 
> whether this should be enabled or not.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to