I think this is still a case-by-case basis. The problem is that we cannot keep track of what methods/classes that Phoenix depends on without Phoenix tells us first. There is a special marker InterfaceAudience.LimitedPrivate(Phoenix) just for that purpose.
For some of the stuff (like SplitTransaction) for example, I do not think that we should have any restrictions in HBase in terms of refactoring. For things like MetaReader, etc I can see that having more stable interfaces there will help both projects. Enis On Wed, Dec 3, 2014 at 7:44 AM, Ted Yu <yuzhih...@gmail.com> wrote: > Compiling Phoenix master against 0.99.2, I got: > http://pastebin.com/gaxCs8fT > > Some removed methods are in HBase classes that are marked > with @InterfaceAudience.Private > I want to get some opinion on whether such methods should be deprecated > first. > > Cheers > > On Tue, Dec 2, 2014 at 10:28 PM, Enis Söztutar <e...@apache.org> wrote: > > > First release candidate for HBase 0.99.2 (RC0) is available. Please vote > by > > 12/06/2014 > > > > The first release candidate for the third release from branch-1, HBase > > 0.99.2 RC0, is > > available for download at > https://people.apache.org/~enis/hbase-0.99.2RC0/ > > > > Maven artifacts are also available in the temporary repository > > https://repository.apache.org/content/repositories/orgapachehbase-1048/ > > > > Signed with my code signing key E964B5FF. Can be found here: > > https://people.apache.org/keys/committer/enis.asc > > > > Signed tag in the repository can be found here: > > > > > https://git-wip-us.apache.org/repos/asf?p=hbase.git;a=tag;h=080ab7230847776b7a2867dcbd3d421969d2dd37 > > > > NOTE IN GIGANTIC LETTERS THAT THIS IS A DEVELOPER RELEASE. > > DO NOT USE THIS RELEASE IN PRODUCTION. > > > > HBase 0.99.2 is a "developer preview" release, and an odd-numbered > release > > as > > defined in > https://hbase.apache.org/book/upgrading.html#hbase.versioning. > > This release IS NOT intended for production use, and does not contain any > > backwards or forwards compatibility guarantees (even within minor > versions > > 0.99.x). Please refrain from deploying this over important data. > > > > 0.99.2 release is provided from branch-1, which will be the basis for > > HBase-1.0 > > release. This is the last planned 0.99.x release before 1.0. The reason > for > > doing a developer preview release is to get more testing for the branch-1 > > code > > that will be released soon as HBase-1.0.0. Thus, all contribution in > terms > > of > > testing, benchmarking, checking API / source /wire compatibility, > checking > > out > > documentation and further code contribution is highly appreciated. 1.0 > will > > be > > the first series in the 1.x line of releases which are expected to keep > > compatibility with previous 1.x releases. Thus it is very important to > > check > > the client side and server side APIs for compatibility and > maintainability > > concerns for future releases. > > > > 0.99.2 builds on top of all the changes that is in the 0.99.0 (an > overview > > can be found at [1]) and 0.99.1 releases[2]. The theme of (eventual) 1.0 > > release is to become a stable base for future 1.x series of releases. 1.0 > > release will aim to achieve at least the same level of stability of 0.98 > > releases without introducing too many new features. > > > > The work to clearly mark and differentiate client facing APIs, and > > redefine > > some of the client interfaces for improving semantics, easy of use and > > maintainability has continued in 0.99.2 release. Marking/remarking of > > interfaces with InterfaceAudience has also been going on (HBASE-10462), > > which will identify areas for compatibility (with clients, coprocessors > > and dependent projects like Phoenix) for future releases. > > > > 0.99.2 contains 190 issues fixed on top of 0.99.1. Some other notable > > improvements > > in this release are > > - [HBASE-12075] - Preemptive Fast Fail > > - [HBASE-12147] - Porting Online Config Change from 89-fb > > - [HBASE-12354] - Update dependencies in time for 1.0 release > > - [HBASE-12363] - Improve how KEEP_DELETED_CELLS works with MIN_VERSIONS > > - [HBASE-12434] - Add a command to compact all the regions in a > > regionserver > > - [HBASE-8707] - Add LongComparator for filter > > - [HBASE-12286] - [shell] Add server/cluster online load of > configuration > > changes > > - [HBASE-12361] - Show data locality of region in table page > > - [HBASE-12496] - A blockedRequestsCount metric > > - Switch to using new style of client APIs internally (in a lot of > places) > > - Improvements in visibility labels > > - Perf improvements > > - Some more documentation improvements > > - Numerous improvements in other areas and bug fixes. > > > > The release has these changes in default behavior (from 0.99.1): > > - Disabled the "Distributed Log Replay" feature by default. Similar to > > 0.98 > > and earlier releases "Distributed Log Split" is the default. > > > > > > Thanks for everybody who have contributed to this release. Full list of > the > > issues > > can be found here: > > > > > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310753&version=12328822 > > > > > > Compatibility > > ------------- > > 0.99.x series of releases are preview of upcoming 1.0 release. HBase-1.0 > is > > planned to be wire compatible with 0.98.x releases. Clients and > > servers running in different versions as long as new features are not > used > > should be possible. > > A rolling upgrade from 0.98.x clusters to 0.99.2 is supported as well. > > 0.99.2 > > introduces a new file format (hfile v3) that is enabled by default that > > 0.96.x code cannot read. Thus, rolling upgrade from 0.96 directly to 0.99 > > is > > not supported. > > > > Direct migration from 0.94.x, 0.96.x and 0.98.x is also supported but it > IS > > NOT > > tested extensively. Before HBase-1.0 we expect to complete the tests. > > > > Binary compatibility at the Java API layer with earlier versions (0.98.x, > > 0.96.x and 0.94.x) is not supported. You may have to recompile your > client > > code and any server side code (coprocessors, filters etc) referring to > > hbase jars. > > > > 0.99.x release introduces new APIs, and deprecates some of commonly-used > > client side APIs (HTableInterface, etc). However, client side code is > > expected > > to be source compatible with earlier versions. However we advise to > update > > your application to use the new style of APIs, since deprecated APIs > might > > be removed in future releases (2.x). > > > > > > Supported Hadoop versions > > ------------------------- > > 0.99.x releases drop support for Hadoop-1.x releases. Only Hadoop-2.x > > releases are supported. Hadoop-2.4.x and Hadoop-2.5.x releases are the > > most tested hadoop releases and we recommend running with those versions > > (or later versions). Earlier Hadoop-2 based releases (hadoop-2.2.x and > > 2.3.x) > > are not tested to the full extend. More information can be found here: > > https://hbase.apache.org/book/configuration.html#hadoop > > > > > > Supported Java versions > > ------------------------- > > 0.99.x releases drop support for JDK6. Only JDK7 is supported. JDK8 > support > > is experimental. More information can be found here: > > https://hbase.apache.org/book/configuration.html#java > > > > > > Voting > > ------ > > Please try to test and vote on this release by 12/06/2014 11:59PM PDT. > > This is a developer (beta) release, so we have a shorter vote time. > > [] +1 Release the artifacts as 0.99.2 > > [] -1 DO NOT release the artifacts as 0.99.2, because... > > > > Thanks for helping to get a stable release out! > > > > References > > ---------- > > [1] > > > > > https://mail-archives.apache.org/mod_mbox/hbase-dev/201409.mbox/%3ccamuu0w94oarqcz2zy4zlqy_aaqn70whhh1ycs_0bjpseeec...@mail.gmail.com%3E > > [2] > > > > > https://mail-archives.apache.org/mod_mbox/hbase-dev/201409.mbox/%3ccamuu0w9y_+afw6ww0ha_p8kbew35b3ncshbuqacfndzs8tc...@mail.gmail.com%3E > > > > Enis > > >