You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2013/01/09 05:26:13 UTC

[jira] [Comment Edited] (HBASE-7477) Remove Proxy instance from HBase RPC

    [ https://issues.apache.org/jira/browse/HBASE-7477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547491#comment-13547491 ] 

stack edited comment on HBASE-7477 at 1/9/13 4:26 AM:
------------------------------------------------------

Note to self (comes of a review of what would be involved pulling the proxy stuff out of hbase with Elliott):

+ we'd need a means of hooking up a generic "callMethod" that took a Method and params with a protocol Interface -- what proxy does for us now.  The protobuf Service can do this for us also but w/o reflection.
+ What we have currently where we have protobuf engine pollution in the HBaseClient -- though this latter class is supposed to be engine agnostic -- is ugly and hard to follow.

Given the above, protobuf Service starts to look better.  It has kinks but would enforce a strong pattern -- and we are most of the way there already with our use of the Service#BlockingInterface.
                
      was (Author: stack):
    Note to self (comes of a review of what would be involved pulling the proxy stuff out of hbase with Elliott):

+ we'd need a means of hooking up a generic "callMethod" that took a Method and params with a protocol Interface -- what proxy does for us now.  The protobuf Service does this for us.
+ What we have currently where we have protobuf engine pollution in the HBaseClient -- though this latter class is supposed to be engine agnostic -- is ugly.

Given this, protobuf Service starts to look good.  Has kinks but would enforce a strong pattern -- and we are most of the way there already with our use of the Service#BlockingInterface.
                  
> 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
>
> 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