hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <josh.el...@gmail.com>
Subject Source incompatibility between 1.2.[0,1] and 1.2.2 breaks Phoenix
Date Mon, 15 Aug 2016 19:07:22 GMT
Hi folks,

I just noticed a ticket over in Phoenix [1] in which some method 
additions to the Table interface [2] breaks the source compatibility of 
Phoenix with HBase 1.2.2.

My understanding of the current guidelines is that these are allowed as 
they do not invalidate binary compatibility of clients using the API. 
Personally, I am very hard-pressed to use the word "compatible" in a 
sentence describing this change that isn't sarcastic :)

A couple of questions:

1) I find the InterfaceAudience annotations on this really strange. How 
can we have a Public audience Interface (o.a.h.h.c.Table) with Private 
methods? Is that just "how things are", or am I missing something? If 
this is not something that's meant to be public, I would think these new 
methods should be defined in a non-public interface.

2) Now that we've had quite a few releases in the "not-quite-SemVer" 
compatibility guide, is there any interest in trying to make the 
compatibility guarantees more stringent? I would like to see us get to 
source-compatibility on patch releases, not just binary compatibility. I 
am happy to try to help, but I know I don't have the time to devote to 
catch everything.

3) What do people think about changing this in a 1.2.3 with a quick 


- Josh

[1] https://issues.apache.org/jira/browse/PHOENIX-3116
[2] https://issues.apache.org/jira/browse/HBASE-15645

View raw message