The idea actually was that a new client can never be 100% supported, since a 
user could use it accessing new features that the server does not 
understand.The reverse is always possible, since the old client can expose 
anything new unduly we can always upgrade the server as old as it doesn't break 
the old client.
Supporting both ways is too limiting I think, at least for minor version. For 
example we might want to add a *new* RPC.As long as we only support old client 
with new servers we can do that. In any other combination that would not (as 
easily) possible.
That's why I phrased it only that way in my version proposal.

For patch releases it's reasonable to support it both ways.The book is 
currently unavailable from the HBase site, so I can't check the exact wording 
we ended up with.

-- Lars
      From: Nick Dimiduk <ndimi...@gmail.com>
 To: hbase-dev <dev@hbase.apache.org> 
 Sent: Wednesday, March 4, 2015 4:49 PM
 Subject: Re: Client-Server wire compatibility?
   
I believe your posted example is intended to be supported. There's no
enforcement, for instance, that the master is upgraded before all RS's.



On Wed, Mar 4, 2015 at 4:06 PM, Matteo Bertozzi <theo.berto...@gmail.com>
wrote:

> the book (http://hbase.apache.org/book.html#hbase.versioning)
> talks about "only allow upgrading the server first" to use new APIs.
>
> what about a new client talking to an old server for "old" operations?
> For example: If I have a 1.1 client, can I ask a 1.0 server to create a
> table?
>


   

Reply via email to