You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Marcus Eriksson (JIRA)" <ji...@apache.org> on 2015/12/04 14:14:11 UTC
[jira] [Commented] (CASSANDRA-10099) Improve concurrency in
CompactionStrategyManager
[ https://issues.apache.org/jira/browse/CASSANDRA-10099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15041538#comment-15041538 ]
Marcus Eriksson commented on CASSANDRA-10099:
---------------------------------------------
main reason we synchronize all/most methods in WrappingCompactionStrategy/CompactionStrategyManager is that we need to be able to reload the actual compaction strategy safely.
Patch [here|https://github.com/krummas/cassandra/commits/marcuse/10099] which replaces the synchronized on the methods with a read/write lock.
Note that this probably has a small chance of creating overlap in LCS since we don't see all new sstables as a 'transaction' - but this is safe in 2.1+ as long as it is very rare since we drop any sstable that would cause overlap to L0
http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10099-testall/
http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-10099-dtest/
> Improve concurrency in CompactionStrategyManager
> ------------------------------------------------
>
> Key: CASSANDRA-10099
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10099
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Yuki Morishita
> Fix For: 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)