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

Jurriaan Mous updated HBASE-12684:
----------------------------------
    Attachment: HBASE-12684-v12.patch
                profile-AsyncRpcClient.png
                profile-RpcClientImpl.png

New patch + some profile screenshots

- Improved the performance on thread creation and memory usage quite a bit. 
(There was horrible stuff going on with Thread creation) I hope this fixes some 
hanging tests. It is comparable/better to the current RpcClientImpl. Only the 
execution time seems to be longer but this can probably be explained by the 
shutdownGracefully of Netty which does a clean shutdown. (You can see the end 
of graph is a bit longer) Execution time can of course shrink with this client 
as more things can be done async.

- Resolved review issues by [~stack]

Introduced a hbase.rpc.client.threads.max setting to control the number of 
threads for the netty client. Default is 1 and performs the best in these tests 
but maybe another default is too be used for cluster setups.

> 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-v1.patch, HBASE-12684-v10.patch, 
> HBASE-12684-v11.patch, HBASE-12684-v12.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, profile-AsyncRpcClient.png, 
> profile-RpcClientImpl.png
>
>
> 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