I've done some accounting of the source-incompatible changes. I'm not
listing every item here, only the ones that I think might raise eyebrows or
warrant further discussion. Here are my findings.

I think these problems sink the RC. I plan to reopen the various tickets
here and start a discussion with the authors for getting an addendum posted
that addresses the problems. Before I do that, please speak up if you think
anything here I've -1 are actually justified.

Thanks,
Nick

Removed Methods:
 * org.apache.hadoop.hbase.rest.client.{RemoteAdmin,RemoteHTable} -- these
were dropped intentionally and with discussion via HBASE-24115, +1.
 * org.apache.hadoop.hbase.util.ByteBufferUtils.findCommonPrefix (...) --
looks like this method was refactored away as part of HBASE-22504. However,
it is present in an IA.Public class, so it needs a deprecation cycle before
removal, -1.
 * org.apache.hadoop.hbase.HRegionInfo.compareTo -- the Comparable
implementation was moved up to the interface via default method, so I think
this is acceptable, via HBASE-23753. +1.
 * org.apache.hadoop.hbase.replication.ReplicationLoadSink -- Additional
constructor arguments added in HBASE-21406, -1.
 * org.apache.hadoop.hbase.replication.ReplicationLoadSource -- Additional
constructor arguments added in HBASE-21505, -1.
 * org.apache.hadoop.hbase.client.SnapshotDescription -- Additional
constructor arguments added in HBASE-22648, -1.
 * org.apache.hadoop.hbase.tool.LoadIncrementalHFiles.tryAtomicRegionLoad(...)
-- Method signature change on a protected method via HBASE-24221, -1.
 * org.apache.hadoop.hbase.mapreduce.RowCounter.createSubmittableJob --
Method parameter removed via HBASE-21773, -1.

Problems with Data Types, High Severity:
 * org.apache.hadoop.hbase.HConstants#HBASE_NON_USER_TABLE_DIRS -- Field
removed via HBASE-23055, -1.
 * org.apache.hadoop.hbase.HRegionInfo Removed super-interface
java.lang.Comparable<HRegionInfo> -- same as HBASE-23753 above. Missing
interface moved to the super-interface, preserved. +1.
 * A number of interfaces seeing new methods. These interfaces look like
API we expect a client to consume, not implement. Book says under Client
API compatibility: "New APIs introduced in a patch version will only be
added in a source compatible way [1]: i.e. code that implements public APIs
will continue to compile." Strictly speaking, I think these are breaking
changes for a minor release, but since this is an interface we don't expect
clients to implement, only to consume, I'm -0.
 * org.apache.hadoop.hbase.ipc.NettyRpcClientConfigHelper -- class became
final, via HBASE-23956. We don't want clients (or anyone) to extend this
class. +1.
 * org.apache.hadoop.hbase.replication.ReplicationLoadSource -- class
became final, via HBASE-21505. We don't want clients (or anyone) to extend
this class. +1.
 * org.apache.hadoop.hbase.mapreduce.RowCounter -- removed interface Tool,
via HBASE-21773. Now extends AbstractHBaseTool, which does implement
Tool. +1.
 * org.apache.hadoop.hbase.util.RegionMover -- 6 public fields made
private, via HBASE-24102. -1.

Problems with Methods, High Severity:
* org.apache.hadoop.hbase.ipc.NettyRpcClientConfigHelper -- default
constructor made private, via HBASE-23956. -1.

Problems with Methods, Medium Severity:
 * org.apache.hadoop.hbase.rest.filter.RestCsrfPreventionFilter.init(...)
-- removed declared thrown exception, via HBASE-23661. Clients don't extend
this class, +1.
 * org.apache.hadoop.hbase.client.RegionInfo.isEncodedRegionName(...) --
removed thrown exception, via HBASE-23326. Clients don't extend this
class, +1.
 *


On Tue, Jun 16, 2020 at 9:36 AM Nick Dimiduk <[email protected]> wrote:

> Please vote on this Apache hbase release candidate,
> hbase-2.3.0RC0
>
> The VOTE will remain open for at least 72 hours.
>
> [ ] +1 Release this package as Apache hbase 2.3.0
> [ ] -1 Do not release this package because ...
>
> The tag to be voted on is 2.3.0RC0:
>
>   https://github.com/apache/hbase/tree/2.3.0RC0
>
> The release files, including signatures, digests, as well as CHANGES.md
> and RELEASENOTES.md included in this RC can be found at:
>
>   https://dist.apache.org/repos/dist/dev/hbase/2.3.0RC0/
>
> Maven artifacts are available in a staging repository at:
>
>   https://repository.apache.org/content/repositories/orgapachehbase-1393/
>
> Artifacts were signed with the [email protected] key which can be found
> in:
>
>   https://dist.apache.org/repos/dist/release/hbase/KEYS
>
> To learn more about Apache hbase, please see
>
>   http://hbase.apache.org/
>
> Thanks,
> Your HBase Release Manager
>

Reply via email to