[
https://issues.apache.org/jira/browse/HBASE-13902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14587752#comment-14587752
]
Jurriaan Mous commented on HBASE-13902:
---------------------------------------
{quote}
How can we get away with removing such fundamental types as Call and
RpcClientImpl Want to say a few words on it Jurriaan Mous ?
The plus is now we have an async chassis and so can do an async Table – that is
great – and do we get a simplification of the client path but can you think of
any downsides? For example, doing sync calls on an async chassis continue to be
slower than pure sync (I'd guess so but probably not by much?). I could help
test this out if that'd help. Any other downsides you can think of ?
{quote}
Luckily Call and RpcClientImpl are private and are only accessed through the
RpcClient interface. So it is easy to remove them. :)
I looked into it a bit more. It is technically possible to keep supporting the
RpcClientImpl by adding a Netty EventLoop to the RpcClientImpl and make an
abstraction around the async channel. To properly support the Async Table I
needed to make scans use the async client internally so these will probably get
slower with the Async patch in RpcClientImpl and faster with AsyncRpcClient
because of transferred abstraction. And it is possible that the async based
sync Table implementation removes some of the delay.
Maybe the best way is to keep RpcClientImpl in at this moment, implement the
async methods and remove it later if it proves to be slower with all the new
code in.
> Remove Sync RpcClientImpl
> -------------------------
>
> Key: HBASE-13902
> URL: https://issues.apache.org/jira/browse/HBASE-13902
> Project: HBase
> Issue Type: Improvement
> Components: Client
> Reporter: Jurriaan Mous
> Assignee: Jurriaan Mous
> Attachments: HBASE-13902.patch
>
>
> For an async Table api to be supported we need to remove the sync
> RpcClientImpl.
> For the Async Table Api some internals for scanning are changed to use async
> apis so they can't be used with the Sync RpcClientImpl.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)