Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
hbase-operator-tools-1.1.0
-
None
-
Make it so tests and compile works against hbase-2.3.x as well as hbase-2.1.x.
Description
If we do a local build of the current HBase branch-2.3 as version 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository,
then attempt to build hbase-operator-tools master branch, with -Dhbase.version=2.3.0-SNAPSHOT,
the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with error: "package edu.umd.cs.findbugs.annotations does not exist", followed by multiple instances of missing "symbol: class Nullable". (A longer log extract is attached.)
It would appear the default HBase version 2.1.6 made this dependency package available in some manner, but the newer HBase does not.
Later Edit: After addressing this missing dependency (see comment of 5 June below), it unmasked a bunch more, in the hbck1 code path. Please see second attachment.
If the @Nullable annotation is still needed, it may be sufficient to simply add it to the hbase-operator-tools pom.xml file, so maven will load it. However, it is actually deprecated in the current documentation for edu.umd.cs.findbugs.annotations. Various commentary online suggest that we should be using the similar jsr305.jar (javax.annotation) instead; see eg
Does anyone know if that was HBase's approach?