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

Marcus Eriksson commented on CASSANDRA-10099:
---------------------------------------------

[~yukim] agreed, but I think we should do both

After CASSANDRA-6696 and especially CASSANDRA-10540 we can have very many 
compaction strategy instances (one per owned vnode range, typically 768 with 
rf=3 and 256 tokens), so even if we don't loop, this can take a long time. But 
since each instance is totally independent from the other instances we don't 
need the global synchronization - we just need to make sure that noone switches 
out the compaction strategy under our feet.

I'll push an updated branch with both approaches unless you disagree?

> Improve concurrency in CompactionStrategyManager
> ------------------------------------------------
>
>                 Key: CASSANDRA-10099
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10099
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Yuki Morishita
>            Assignee: Marcus Eriksson
>             Fix For: 2.1.x, 2.2.x, 3.x
>
>
> Continue discussion from CASSANDRA-9882.
> CompactionStrategyManager(WrappingCompactionStrategy for <3.0) tracks SSTable 
> changes mainly for separating repaired / unrepaired SSTables (+ LCS manages 
> level).
> This is blocking operation, and can lead to block of flush etc. when 
> determining next background task takes longer.
> Explore the way to mitigate this concurrency issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to