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