stack created HBASE-20225:
-----------------------------

             Summary: [RPC] Server does not say what version it is
                 Key: HBASE-20225
                 URL: https://issues.apache.org/jira/browse/HBASE-20225
             Project: HBase
          Issue Type: Bug
          Components: rpc
    Affects Versions: 2.0.0
            Reporter: stack


Strange. Server does not tell clients what version it is. It is explicitly this 
way. See [1] from refguide appendix on rpc protocol where client says what it 
wants and server is silent unless it is unable to satisfy the client request. I 
suppose it made sense at the time trying to squeeze in protobuf handling into a 
pre-existing RPC but in hindsight, it seems a little silly we don't answer the 
Connection setup with a Connection setup response that has stuff like server 
version and capabilities.

Its not so much a problem for our clients currently but I'm in here because 
asynchbase is broke against hbase2 [2]; hbase2 removes support for 
getClosestRowOrBefore doing meta lookups; clients are supposed to do a reverse 
scan instead.

[~manolamancha] has just made a fix but you have to specify you are connecting 
to hbase2 which is not how asynchbase does it; in the past, asynchbase would 
just figure out what to do going off hints and exceptions thrown by our server.

Not sure there is anything to do here. I tried reto-fitting a connection 
response but it will break hbase1 clients which we need to avoid.

Here is yet another reason for our throwing away this home-grown RPC. New 
Project: put up an alternate port on which we'd provide a modern RPC, one that 
does streaming, etc., and basics like return server version.

1. http://hbase.apache.org/book.html#_server
2. https://github.com/OpenTSDB/asynchbase/issues/150#issuecomment-373949082



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

Reply via email to