hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jurriaan Mous (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12684) Add new AsyncRpcClient
Date Tue, 30 Dec 2014 17:17:13 GMT

    [ https://issues.apache.org/jira/browse/HBASE-12684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14261261#comment-14261261
] 

Jurriaan Mous commented on HBASE-12684:
---------------------------------------

In the current patch it is on by default because AsyncRpcClient is the default in RpcClientFactory.
This way all the tests that use RpcClientFactory would use this new client. (The ones that
don't have AsyncRpcClient duplicates) What the future default is is to be decided. It is configurable
with "hbase.rpc.client.impl".

I am curious what the results are! 

You could possibly try out some thread pool tweaking with "hbase.rpc.client.threads.max".
It is by default 0 to let Netty decide. (Which is: Runtime.getRuntime().availableProcessors()
* 2) Size of 1 made some tests fail. 
It seems in profiling that the new embedded thread pool ups the thread count a bit. But the
total can come done in the future as the AsyncProcess could move to Netty channel threads.
I did get some good runtime and CPU improvements on a few tests but I don't know what that
represents in a normal cluster run.

> Add new AsyncRpcClient
> ----------------------
>
>                 Key: HBASE-12684
>                 URL: https://issues.apache.org/jira/browse/HBASE-12684
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, HBASE-12684-v1.patch,
HBASE-12684-v10.patch, HBASE-12684-v11.patch, HBASE-12684-v12.patch, HBASE-12684-v13.patch,
HBASE-12684-v14.patch, HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch,
HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v2.patch, HBASE-12684-v3.patch,
HBASE-12684-v4.patch, HBASE-12684-v5.patch, HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch,
HBASE-12684-v9.patch, HBASE-12684.patch
>
>
> With the changes in HBASE-12597 it is possible to add new RpcClients. This issue is about
adding a new Async RpcClient which would enable HBase to do non blocking protobuf service
communication.
> Besides delivering a new AsyncRpcClient I would also like to ask the question what it
would take to replace the current RpcClient? This would enable to simplify async code in some
next issues.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message