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