[
https://issues.apache.org/jira/browse/HBASE-7477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550519#comment-13550519
]
stack commented on HBASE-7477:
------------------------------
[~karthik.ranga] Mighty Karthik. Patch looks legit. Its radical writing it
all out by hand but this by-hand is going on anyways just in different places
through the code. So why mess about w/ this Proxy stuff? Trying to think of
downsides but its only the same serialization issues you'd have with or without
proxying (only it'll be clearer what is going on when proxy is removed).
I'm going to mark this a 0.89 issue if that is ok w/ you. I'm going to open a
new issue for turn proxy removing. We have diverged too much; we don't have
Writables any more and our 'protocols' have all different signatures from you
(we don't have versioning nor protocol signature either as of a few days ago).
Also, rather than have to hand code the protocol serialization/deserialization,
we have the option of just exploiting the code generated by pb Service.
Our big take away from this issue is that the proxying has a cost. A few of us
digging in rpc of late have been questioning the need for proxy at all. That
it has a cost too becomes another mark against it. We'll look into removing it
in trunk too over in another trunk-focused issue.
Good on you boss.
Hint, Gary Helmling has found that the caching of clients is useless code,
HBASE-7460. You might want to cut this out too while you have your butcher's
apron on.
> Remove Proxy instance from HBase RPC
> ------------------------------------
>
> Key: HBASE-7477
> URL: https://issues.apache.org/jira/browse/HBASE-7477
> Project: HBase
> Issue Type: Sub-task
> Reporter: Karthik Ranganathan
> Attachments: 7477experiment.txt, HBASE-7477.patch
>
>
> Currently, we use HBaseRPC.getProxy() to get an Invoker object to serialize
> the RPC parameters. This is pretty inefficient as it uses reflection to
> lookup the current method name.
> The aim is to break up the proxy into an actual proxy implementation so that:
> 1. we can make it more efficient by eliminating reflection
> 2. can re-write some parts of the protocol to make it even better
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira