[
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17138056#comment-17138056
]
Michael Stack commented on HBASE-24482:
---------------------------------------
To make hbase-operator-tools work w/ hbase-2.3.0, purged use of @Nullable and
then fixed remaining complaints which come of below commit up in hbase:
{code} bf2350e25f386e2d4c8300857b0ad039706564b1 Tue Apr 28 20:32:44 PDT 2020
Duo Zhang HBASE-24249 Move code in FSHDFSUtils to FSUtils and mark related
clas… (#1586){code}
Above made it so FSUtils no longer subclassed CommonFSUtils. The change was to
a @private inner class so fair game. The hbck1 classes we ported over to hbck2
for some of our filesystem machinations -- that need to be rewritten/updated --
still referenced FSUtils but only as means to methods actually in
CommonFSUtils. Changing references in hbck2 to CommonFSUtils rather than
FSUtils makes it so hbck2 will work w/ hbase-2.1.x and hbase-2.3.x.
Patch coming....
> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to
> missing dependencies
> ----------------------------------------------------------------------------------------------
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
> Issue Type: Bug
> Components: hbase-operator-tools
> Affects Versions: hbase-operator-tools-1.1.0
> Reporter: Matthew Foley
> Priority: Major
> Attachments: HBASE-24482_compile_error.log,
> HBASE-24482_missing_symbols_part_2.log
>
>
> 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
> *
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
> Does anyone know if that was HBase's approach?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)