Re: About the InterfaceStability annotation for public API

2017-03-31 Thread Jerry He
Looks fine. Incorporating another public dimension probably makes the version scheme too complex. Keep it simple. Jerry On Fri, Mar 31, 2017 at 5:30 PM 张铎(Duo Zhang) wrote: > Some progress here. > > In HBASE-17857, a sub task of HBASE-17828, I've created a script to

Re: About the InterfaceStability annotation for public API

2017-03-31 Thread Duo Zhang
Some progress here. In HBASE-17857, a sub task of HBASE-17828, I've created a script to remove all the IS annotations for the IA.Public API. And I've also changed the IA.Public annotations for several classes which are marked as IS.Unstable to IA.Private. We can change them back when we think

Re: About the InterfaceStability annotation for public API

2017-03-23 Thread Duo Zhang
Filed https://issues.apache.org/jira/browse/HBASE-17828 2017-03-21 8:36 GMT+08:00 张铎(Duo Zhang) : > bq. If someone is > comfortable with the risk of an API that can change in minor or > maintenance releases, what's gained by calling it IA.Public + > IS.Evolving or

Re: About the InterfaceStability annotation for public API

2017-03-20 Thread Duo Zhang
bq. If someone is comfortable with the risk of an API that can change in minor or maintenance releases, what's gained by calling it IA.Public + IS.Evolving or Unstable rather than just labeling it IA.Private or IA.LimitedPrivate? Indeed. We can not stop users use IA.Private classes if they are

Re: About the InterfaceStability annotation for public API

2017-03-20 Thread Jerry He
Just to bring up an alternative idea. The Spark InterfaceStability explicitly spells out what can or can not change from major or minor releases. (I was onto it recently). See [1] HBase is probably a more stable project that does not have to do the same. But it is also possible that we may have

Re: About the InterfaceStability annotation for public API

2017-03-20 Thread Yu Li
+1 on removing InterfaceStability annotation for IA.Public. Even more, is it possible to forbid using these two annotations together in Yetus at code-level if we are migrating to it (as mentioned in another thread)? For IA.Private or IA.LimitedPrivate, personally I think InterfaceStability is

Re: About the InterfaceStability annotation for public API

2017-03-20 Thread Sean Busbey
I really dislike having InterfaceStability markings on IA.Public interfaces, because to me it reads like us essentially saying we didn't invest enough time in deciding what something should look like before declaring it safe for downstream folks. If someone is comfortable with the risk of an API

About the InterfaceStability annotation for public API

2017-03-19 Thread Duo Zhang
In the compatibility section of our refguide, the compatibility for patch version, minor version and major version is not related to InterfaceStability annotation. The only place we mention it is for Server-Side Limited API compatibility. And in the Developer Guidelines section, we say this