[
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthew Foley updated HBASE-24482:
----------------------------------
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
*
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
Does anyone know if that was HBase's approach?
was:
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.
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?
> [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
>
>
> 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)