[
https://issues.apache.org/jira/browse/HBASE-22634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sebastien Barnoud updated HBASE-22634:
--------------------------------------
Description:
The default ThreadPoolExecutor uses a default size of 1 (property
hbase.htable.threads.max). When using a size > 1, we still encountered poor
performance and exception while submitting to the pool (pool exceed its
capacity).
This patch propose a fix on different issues encountered when the pool size is
> 1:
* thread safety issue
* concurrent cleanup by Netty and the "legacy" code
* errors in the backpressure
* Netty memory leak
And propose a BufferedMutatorThreadPoolExecutor which:
* uses hbase.client.max.total.tasks as the default size (instead of 1)
* some usefull metrics
was:
The default ThreadPoolExecutor uses a default size of 1 (property
hbase.htable.threads.max). When using a size > 1, we still encountered poor
performance and exception while submitting to pool (pool exceed its capacity).
This patch propose a fix on different issues encountered when the pool size is
> 1:
* thread safety issue
* concurrent cleanup by Netty and the "legacy" code
* errors in the backpressure
* Netty memory leak
And propose a BufferedMutatorThreadPoolExecutor which:
* uses hbase.client.max.total.tasks as the default size (instead of 1)
* some usefull metrics
> Improve performance of BufferedMutator
> --------------------------------------
>
> Key: HBASE-22634
> URL: https://issues.apache.org/jira/browse/HBASE-22634
> Project: HBase
> Issue Type: Improvement
> Components: Client
> Affects Versions: 2.1.5
> Environment: HDP 2.6.5
> Linux RedHat
> Reporter: Sebastien Barnoud
> Priority: Major
>
> The default ThreadPoolExecutor uses a default size of 1 (property
> hbase.htable.threads.max). When using a size > 1, we still encountered poor
> performance and exception while submitting to the pool (pool exceed its
> capacity).
> This patch propose a fix on different issues encountered when the pool size
> is > 1:
> * thread safety issue
> * concurrent cleanup by Netty and the "legacy" code
> * errors in the backpressure
> * Netty memory leak
> And propose a BufferedMutatorThreadPoolExecutor which:
> * uses hbase.client.max.total.tasks as the default size (instead of 1)
> * some usefull metrics
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)