Yeah, we need to get better!

It's not generally possible to support newer clients with older servers. 
Phoenix might have added features that the old server cannot be expected to 
understand. So you in your app you'd have have to be incredibly careful not to 
use any new features.
Supporting more that one client version on the server is important, though.
Also, we need to keep in mind that there are three versions to consider (and 
this is was killed 4.15.0):
1. The server version
2. The client version
3. The version of the metadata.

We have been blissfully ignorant (to some extend at least) about #3. And that's 
why we need a metadata API. So that old clients are compatible with the new 
server code *and* the new metadata!

I think the expected mode of operations for larger installations would be to 
upgrade the server(s) and keep the older clients running for a while. Then when 
everything is deemed stable on the server switch the clients too.
Definitely a good discussion to have. I think it's time to do another Phoenux 
meetup and discuss these things...

-- Lars

    On Saturday, December 21, 2019, 12:39:12 PM PST, Andrew Purtell 
<andrew.purt...@gmail.com> wrote:  
 
 One thing I would like to suggest is a change to the project compatibility 
policy for upgrade/downgrade to support the following:

Mixed client/server versions one minor release up or back. Going forward. So in 
the future eg client={ 4.14, 4.15, 4.16 } <-> server={ 4.14, 4.15, 4.16 }. This 
will allow for seamless rolling upgrades with rollback in all common scenarios. 

Then, consider an exception for some combinations of 4.15 and 5.1? I have 
tested this and these versions are data compatible (create data with 1.5/4.14, 
upgrade to 2.2/5.1) and at the HBase level the wire compatibility between 1 and 
2 is good enough for normal client operations. If the version check didn’t 
throw an exception I wonder if there would be any issue. 

For your consideration. 

> On Dec 21, 2019, at 2:40 AM, "la...@apache.org" <la...@apache.org> wrote:
> 
>  Yeah! Finally.
> Let's use this time to stabilize; especially the metadata management and 
> upgrade testing (and perhaps the HBase compatibility), so that we can have a 
> smooth 4.16.0 release.
> 
>    On Saturday, December 21, 2019, 1:19:34 AM GMT+1, Chinmay Kulkarni 
><chinmayskulka...@gmail.com> wrote:  
> 
> Hello Everyone,
> 
> The Apache Phoenix team is pleased to announce the immediate availability
> of the 4.15.0 minor release. Apache Phoenix enables SQL-based OLTP and
> operational analytics for Apache Hadoop using Apache HBase as its backing
> store and providing integration with other projects in the Apache ecosystem
> such as Spark, Hive, Pig, Flume, and MapReduce.
> 
> This minor release has feature parity with supported HBase versions and
> includes the following improvements:
> - Support for multi-region SYSTEM.CATALOG
> - Omid integration with Phoenix
> - Orphan view tool
> - Separation of the Phoenix-Connectors and Phoenix-Queryserver projects
> - 150+ bug fixes
> and much more
> 
> Download source and binaries here [1].
> 
> Thanks,
> Chinmay Kulkarni
> (on behalf of the Apache Phoenix team)
> 
> [1] http://phoenix.apache.org/download.html
> 
> -- 
> Chinmay Kulkarni  

Reply via email to