[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-17 Thread Michael Stack (Jira)


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

Michael Stack commented on HBASE-24482:
---

Attached patch I pushed (mostly just s/FSUtils/CommonFSUtils/g and purge of the 
@Nullable that came in w/ HBCKMetaTableAccessor.

> [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: 
> 0001-HBASE-24482-hbase-operator-tools-build-of-hbck2-fail.patch, 
> 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)


[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-17 Thread Michael Stack (Jira)


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


[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-17 Thread Wellington Chevreuil (Jira)


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

Wellington Chevreuil commented on HBASE-24482:
--

[~stack], I was about to open a Jira on this matter, then I had found this one 
here. Would you think we should eventually re-implement FSUtils/CommonFSUtils 
methods relevant for hbck2 on an hbck2 own class, just like we did for 
MetaTableAccessor? FSUtils/CommonFSUtils are IA private, so we might face this 
kind of problems again if hbck2 still rely on those.

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


[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-16 Thread Michael Stack (Jira)


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


[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


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

Matthew Foley commented on HBASE-24482:
---

As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

{{}}As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as HBASE-24482_missing_symbols_part_2.log

 

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