[ 
https://issues.apache.org/jira/browse/CASSANDRA-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-3087:
--------------------------------------

    Attachment: 3087.txt

Fix makes getBT wait for the current Task in that CF, if any, before returning 
a new one.

> Leveled compaction allows multiple simultaneous compaction Tasks
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-3087
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3087
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>         Attachments: 3087.txt
>
>
> CASSANDRA-1608 attempts to restrict itself to one compaction task per CF (see 
> discussion there for why this is necessary) by synchronizing 
> LCS.getBackgroundTasks but this is not sufficient.  Consider this sequence of 
> events:
> 1. getBackgroundTasks returns a Task for compacting some L0 sstables.  this 
> Task is scheduled.
> 2. Another SSTable for this CF is flushed, so 
> CompactionManager.submitBackground is called.  getBT is not currently 
> in-progress so the synchronization does not stop another Task from being 
> returned and scheduled.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to