You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sebastien Barnoud (JIRA)" <ji...@apache.org> on 2019/06/26 13:37:00 UTC
[jira] [Commented] (HBASE-22634) Improve performance of
BufferedMutator
[ https://issues.apache.org/jira/browse/HBASE-22634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16873340#comment-16873340 ]
Sebastien Barnoud commented on HBASE-22634:
-------------------------------------------
With this patch, a sample Spark job using:
* hbase.htable.threads.max and hbase.client.max.total.tasks 32
* hbase.client.max.perserver.tasks 8
* hbase.client.max.perregion.tasks 1
* hbase.client.rpc.compressor GzipCodec.class.getCanonicalName()
has a throughput much higher than the default implementation (with hbase.htable.threads.max 1 or 32) and avoid some retries because of bug in the current backpressure management (where we ensure only that 1 single task is available, while submitting N).
In addition, this patch fix several issues, the main is a leak in Netty.
> 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
> Attachments: HBASE-22634.001.branch-2.patch
>
>
> 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)