You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sahil Aggarwal (JIRA)" <ji...@apache.org> on 2018/07/30 19:30:00 UTC

[jira] [Commented] (HBASE-19316) Direct invocation Client-Server short-circuit without having to pass through the eye of a protobuf stub

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

Sahil Aggarwal commented on HBASE-19316:
----------------------------------------

[~stack] the description you added finally lead me to ShortCircuitingClusterConnection in ConnectionUtils. Now, what i understood is that it still uses protobuf service stubs for admin and client services and also returns the same for master. Here, probably we don't need to go through protobuf and can bypass it. 

If i got it right, any top of the head possible ways here?  As I see that it is tied to the ClusterConnection interface which has methods declared to return such stubs. Connection seem to be independent of such stubs and can be easily decoupled i guess.

 

Thanks!

 

> Direct invocation Client-Server short-circuit without having to pass through the eye of a protobuf stub
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-19316
>                 URL: https://issues.apache.org/jira/browse/HBASE-19316
>             Project: HBase
>          Issue Type: Improvement
>          Components: rpc
>            Reporter: stack
>            Priority: Major
>              Labels: beginner
>
> In hbase, on server-side, we have a short-circuit facility that bypasses RPC by directly hooking the client and server protobuf Services up to each other.
> Passing through the Protobuf Service stub requires that the invocation be cast as protobufs -- the invocation itself and all params are converted to protobuf to pass through the eye of the protobuf Service stub. Can we do better and make direct invocations w/o having to do the protobuf marshalling/unmarshalling? (Can we do it in a way that is not brittle in need of careful repair whenever a change is made?). It would make for some nice savings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)