cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Created: (CASSANDRA-2333) Clean up thread pool and queue sizes
Date Tue, 15 Mar 2011 18:11:38 GMT
Clean up thread pool and queue sizes
------------------------------------

                 Key: CASSANDRA-2333
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2333
             Project: Cassandra
          Issue Type: Bug
            Reporter: Jonathan Ellis
            Priority: Minor


Most of Cassandra assumes that ThreadPoolExecutor handles tasks by starting with Core threads,
adding threads up to Max as tasks arrive, then queuing any additional.  This is not correct:

{noformat}
    If fewer than corePoolSize threads are running, the Executor always prefers adding a new
thread rather than queuing.
    If corePoolSize or more threads are running, the Executor always prefers queuing a request
rather than adding a new thread.
    If a request cannot be queued, a new thread is created unless this would exceed maximumPoolSize,
in which case, the task will be rejected.
{noformat}

CASSANDRA-2178 fixed this in one place but made it worse by default since most people run
with a single data dir, meaning as soon as you have multiple CFs flushing (or a single one
with indexes) then you will start blocking writes.

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

Mime
View raw message