hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jingcheng Du (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-15784) MIsuse core/maxPoolSize of LinkedBlockingQueue in ThreadPoolExecutor
Date Tue, 10 May 2016 02:14:12 GMT

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

Jingcheng Du updated HBASE-15784:
---------------------------------
    Release Note: The core pool size and max pool size of ThreadPoolExecutor should be the
same when LinkedBlockingQueue is used. Thus the configurations hbase.hconnection.threads.max,
hbase.hconnection.meta.lookup.threads.max, hbase.region.replica.replication.threads.max and
hbase.multihconnection.threads.max are used as the number of the core threads, and the related
configurations *.thread.core are not used any more.  (was: The core pool size and max pool
size of ThreadPoolExecutor should be the same when LinkedBlockingQueue is used. Thus the configurations
hbase.hconnection.threads.core, hbase.hconnection.meta.lookup.threads.core, hbase.region.replica.replication.threads.core
and hbase.multihconnection.threads.core are not used any more.)

> 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
>         Attachments: HBASE-15784-v2.patch, HBASE-15784.patch
>
>
> 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)

Mime
View raw message