You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict (JIRA)" <ji...@apache.org> on 2015/06/12 20:13:00 UTC
[jira] [Created] (CASSANDRA-9593) Compaction may stall due to race
condition
Benedict created CASSANDRA-9593:
-----------------------------------
Summary: Compaction may stall due to race condition
Key: CASSANDRA-9593
URL: https://issues.apache.org/jira/browse/CASSANDRA-9593
Project: Cassandra
Issue Type: Bug
Components: Core
Reporter: Benedict
Priority: Minor
Fix For: 2.2.x
If the maximum number of compactions are running, and they all terminate simultaneously, they can fail to submit any further compaction tasks. Further, since each only submits one on completion, we only need two of these to race with each other to reduce the number of active compactions below the configured concurrency level.
There are a couple of ways to get around this. This simplest is to submit a task to another thread pool to perform the submitBackgroundTask(), but this may be unnecessarily delayed. Another is to maintain a separate count of active compaction tasks, that is decremented while the thread is still serving the request. A partial solution is to just discount the calling thread from the count of active tasks, so at least one of any competitors will win.
The problem is mitigated considerably by CASSANDRA-9592, so there's no urgency to this.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)