[ 
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)

Reply via email to