You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jingcheng Du (JIRA)" <ji...@apache.org> on 2016/05/06 06:59:12 UTC
[jira] [Created] (HBASE-15784) MIsuse core/maxPoolSize of
LinkedBlockingQueue in ThreadPoolExecutor
Jingcheng Du created HBASE-15784:
------------------------------------
Summary: MIsuse core/maxPoolSize of LinkedBlockingQueue in ThreadPoolExecutor
Key: HBASE-15784
URL: https://issues.apache.org/jira/browse/HBASE-15784
Project: HBase
Issue Type: Bug
Components: Client, Replication, Thrift
Reporter: Jingcheng Du
Assignee: Jingcheng Du
LinkedBlockingQueue is usually used in ThreadPoolExecutor. It allows the thread pool not to be blocked if the number of running threads in the pool is less than the max pool size and the queue is not full.
But when the core pool size of ThreadPoolExecutor is different from the max pool size, the things don't go as expected. When the number of running threads is the same with the core size, more requests of executions are added into the LinkedBlockingQueue. And the requests can be executed again only when LinkedBlockingQueue is full or some of running threads are finished.
Thus it is better to use the same value for the core and max pool size when the LinkedBlockingQueue is used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)