[ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17138566#comment-17138566
 ] 

Michael Stack commented on HBASE-24482:
---------------------------------------

Mighty [~wchevreuil]... I think our hbck2 code should rely on public or hbck 
published API because hbck2 should be able to work across hbase versions. As to 
the issue here, I've noted above history on why we reference AI.privates.

I think we should work to undo any reference to IA.privates including 
MetaTableAccessor. Both violate our hbck2 principal that we ask the master to 
effect repair. Lets work at adding to the hbck stub actions the fs utility on 
hbck2-side does and ditto for MTA? Hows that sound?

> [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)

Reply via email to