phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <els...@apache.org>
Subject [DISCUSS] client/server jar naming, post hbase-compat changes
Date Wed, 25 Mar 2020 19:01:51 GMT
Background: IstvanT has done a lot of really great work to clean up the 
HBase 2.x compatibility issues for us. This lets us move away from the 
HBase-version-tagged releases of Phoenix (e.g. HBase-1.3, HBase-1.4, 
etc), and keep a single branch which can build all of these.

Building master locally, I noticed the following in my tarball, 
specifically the jars

<snip>
   phoenix-5.1.0-SNAPSHOT-hbase-2.2-client.jar -> 
phoenix-client-5.1.0-SNAPSHOT-hbase-2.2.jar
   phoenix-5.1.0-SNAPSHOT-hbase-2.2-server.jar
   phoenix-5.1.0-SNAPSHOT-server.jar
   phoenix-client-5.1.0-SNAPSHOT-hbase-2.2.jar
</snip>

I think there are two things happening here. One is that the 
phoenix-5.1.0-SNAPSHOT-server.jar is "empty" -- it's not the shaded 
server jar, but the hbase-2.2-server.jar is the correct jar. I think 
this is just a bug (you agree, Istvan?)

The other thing I notice is that it feels like Istvan was try to 
simplify some things via symlinks. My feeling was that we could take 
this a step further. What if, instead of just having "hbase-x.y" named 
jars, we give symlinked jars as well. Creating something like...

<snip>
   phoenix-5.1.0-SNAPSHOT-client.jar -> 
phoenix-client-5.1.0-SNAPSHOT-hbase-2.2-client.jar
   phoenix-client-5.1.0-SNAPSHOT-hbase-2.2-client.jar
   phoenix-5.1.0-SNAPSHOT-server.jar -> 
phoenix-server-5.1.0-SNAPSHOT-hbase-2.2-server.jar
   phoenix-server-5.1.0-SNAPSHOT-hbase-2.2-server.jar
</snip>

This would make downstream applications/users a little more simple -- 
not having to worry about the HBase version in use (since their concerns 
are what version of Phoenix is being used, instead). We could even 
introduce non-Phoenix-versioned symlinks for these jars (e.g. 
phoenix-client.jar and phoenix-server.jar). I think this also moves us a 
little closer to what we used to have.

Sounds like a good idea to others?

Mime
View raw message