Skip to content

Conversation

@z-york
Copy link
Contributor

@z-york z-york commented Jun 30, 2021

No description provided.

@z-york
Copy link
Contributor Author

z-york commented Jun 30, 2021

I guess the build wouldn't catch this, but it will ensure no regressions with older releases. This change is compatible with the older versions and 2.4.4.

Build with 2.4.4:

hbase-operator-tools % mvn clean install -DskipTests -Dhbase.version=2.4.4
[INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for Apache HBase Operator Tools 1.2.0-SNAPSHOT: [INFO] [INFO] Apache HBase Operator Tools ........................ SUCCESS [ 10.389 s] [INFO] Apache HBase - Table Reporter ...................... SUCCESS [ 41.494 s] [INFO] Apache HBase - HBCK2 ............................... SUCCESS [ 52.119 s] [INFO] Apache HBase - HBase Tools ......................... SUCCESS [ 12.464 s] [INFO] Apache HBase Operator Tools - Assembly ............. SUCCESS [ 0.423 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:58 min [INFO] Finished at: 2021-06-30T12:19:53-07:00 [INFO] ------------------------------------------------------------------------

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 5s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 spotbugs 0m 0s spotbugs executables are not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ master Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 0m 29s master passed
+1 💚 compile 0m 20s master passed
+1 💚 checkstyle 0m 10s master passed
+1 💚 javadoc 0m 12s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 4s Maven dependency ordering for patch
+1 💚 mvninstall 0m 27s the patch passed
+1 💚 compile 0m 19s the patch passed
+1 💚 javac 0m 19s the patch passed
+1 💚 checkstyle 0m 8s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 xml 0m 2s The patch has no ill-formed XML file.
+1 💚 javadoc 0m 11s the patch passed
_ Other Tests _
+1 💚 unit 5m 17s hbase-hbck2 in the patch passed.
+1 💚 unit 7m 15s root in the patch passed.
+1 💚 asflicense 0m 9s The patch does not generate ASF License warnings.
16m 52s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/1/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR #90
Optional Tests dupname asflicense javac javadoc unit xml compile spotbugs findbugs checkstyle
uname Linux 8f4f1c022aec 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux
Build tool maven
git revision master / 2317f13
Default Java Oracle Corporation-1.8.0_282-b08
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/1/testReport/
Max. process+thread count 1186 (vs. ulimit of 5000)
modules C: hbase-hbck2 . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/1/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@saintstack saintstack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nits. Interested in what the failures were that these changes fix... maybe paste up into the JIRA?

<dependency>
<groupId>com.github.stephenc.findbugs</groupId>
<artifactId>findbugs-annotations</artifactId>
<version>${findbugs-annotations.version}</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this thing? Can we purge the annotation referenced?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very familiar with the findbugs annotations. I guess we could change to using Preconditions or something, but that will be a runtime check. If findbugs is doing something at compile time with those annotations, it might not be a comparable switch.

Copy link
Contributor

@busbey busbey Jun 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it's all CheckForNull annotations to make spotbugs / findbugs do a better job of warning about usage.

https://spotbugs.readthedocs.io/en/stable/annotations.html#edu-umd-cs-findbugs-annotations-checkfornull

Any particular reason you want to get this out of here @saintstack ? we have the stephenc clean room findbugs dependency in lots of places across the project already.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@busbey just the usual... lets minimize dependencies if we can. Was wondering if the dependency was just because of some silly, minor usage that we could as well do w/o.

Copy link
Contributor

@taklwu taklwu Jun 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may be out of the picture, but in this tool, did we enable any findbugs plugin?

Copy link
Contributor Author

@z-york z-york Jun 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stephen beat me to it :) I'm not sure if it's setup correctly for hbase-operator-tools (the test report lists spotbugs as 'spotbugs executables are not available').

@z-york
Copy link
Contributor Author

z-york commented Jun 30, 2021

@saintstack
The executor changes are caused by apache/hbase@8ccf643 (basically the method was removed in favor of using the guava method).

b461d58 Adds the CheckForNull. I also see that it's referenced in core HBase (for example in FSUtils.java).
The reason this fails for 2.4.4 is due to this change: https://issues.apache.org/jira/browse/HBASE-23077 that adds the dependency as compile scope where needed within HBase core.

@z-york
Copy link
Contributor Author

z-york commented Jun 30, 2021

Added build output from building with 2.4.4 to the JIRA

@z-york
Copy link
Contributor Author

z-york commented Jun 30, 2021

Also, I'm not sure what our procedure is for upgrading the HBase version in operator tools. I left it at the lower version since the code change works for both versions, but I can upgrade too if it makes sense.

Copy link
Contributor

@taklwu taklwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines 238 to 243
<dependency>
<groupId>com.github.stephenc.findbugs</groupId>
<artifactId>findbugs-annotations</artifactId>
<version>${findbugs-annotations.version}</version>
<scope>compile</scope>
</dependency>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] indentation is off 2 spaces

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call out, fixed in latest update.

@taklwu
Copy link
Contributor

taklwu commented Jun 30, 2021

I tried to build with -Dhbase.version=2.3.5 and it worked.

IMO if we would like to move with hbase.version, should we do it with the stable pointer as of today it's 2.3.5?

Copy link
Contributor

@taklwu taklwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, thanks

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 39s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 spotbugs 0m 0s spotbugs executables are not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ master Compile Tests _
+0 🆗 mvndep 0m 30s Maven dependency ordering for branch
+1 💚 mvninstall 0m 29s master passed
+1 💚 compile 0m 20s master passed
+1 💚 checkstyle 0m 11s master passed
+1 💚 javadoc 0m 14s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 4s Maven dependency ordering for patch
+1 💚 mvninstall 0m 28s the patch passed
+1 💚 compile 0m 20s the patch passed
+1 💚 javac 0m 20s the patch passed
+1 💚 checkstyle 0m 8s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 xml 0m 2s The patch has no ill-formed XML file.
+1 💚 javadoc 0m 10s the patch passed
_ Other Tests _
+1 💚 unit 5m 13s hbase-hbck2 in the patch passed.
-1 ❌ unit 7m 9s root in the patch failed.
+1 💚 asflicense 0m 10s The patch does not generate ASF License warnings.
16m 17s
Reason Tests
Failed junit tests hbase.TestRegionsMerger
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/2/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR #90
Optional Tests dupname asflicense javac javadoc unit xml compile spotbugs findbugs checkstyle
uname Linux 00697b26d0a5 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux
Build tool maven
git revision master / 2317f13
Default Java Oracle Corporation-1.8.0_282-b08
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/2/artifact/yetus-precommit-check/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/2/testReport/
Max. process+thread count 1218 (vs. ulimit of 5000)
modules C: hbase-hbck2 . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/2/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@saintstack
Copy link
Contributor

Thanks @z-york for explaining why the changes needed.

Suggest that updating the hbase dependency is another issue?

Copy link

@virajjasani virajjasani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@virajjasani
Copy link

We are good to ship this I think. @z-york are you also planning to bump HBase version to 2.4.x on follow up Jira?
Thanks for catching these issues.

@z-york
Copy link
Contributor Author

z-york commented Jul 6, 2021

Sorry, I submitted this as I was on my way out the door on vacation. I'll commit and open another task for upgrading the version. As for actually running findbugs, if we aren't already doing that, I'll leave that to someone who understands it a bit better :)

Signed-off-by: Michael Stack <[email protected]>
Signed-off-by: Viraj Jasani <[email protected]>
Signed-off-by: Stephen Wu <[email protected]>
@z-york z-york merged commit e1a48ef into apache:master Jul 6, 2021
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 41s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 spotbugs 0m 0s spotbugs executables are not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-0 ⚠️ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ master Compile Tests _
+0 🆗 mvndep 0m 39s Maven dependency ordering for branch
+1 💚 mvninstall 0m 33s master passed
+1 💚 compile 0m 19s master passed
+1 💚 checkstyle 0m 10s master passed
+1 💚 javadoc 0m 12s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 4s Maven dependency ordering for patch
+1 💚 mvninstall 0m 26s the patch passed
+1 💚 compile 0m 20s the patch passed
+1 💚 javac 0m 20s the patch passed
+1 💚 checkstyle 0m 8s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 xml 0m 3s The patch has no ill-formed XML file.
+1 💚 javadoc 0m 11s the patch passed
_ Other Tests _
+1 💚 unit 5m 10s hbase-hbck2 in the patch passed.
+1 💚 unit 7m 10s root in the patch passed.
+1 💚 asflicense 0m 10s The patch does not generate ASF License warnings.
16m 37s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/3/artifact/yetus-precommit-check/output/Dockerfile
GITHUB PR #90
Optional Tests dupname asflicense javac javadoc unit xml compile spotbugs findbugs checkstyle
uname Linux 4871266cd9a6 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 GNU/Linux
Build tool maven
git revision master / 2317f13
Default Java Oracle Corporation-1.8.0_282-b08
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/3/testReport/
Max. process+thread count 1221 (vs. ulimit of 5000)
modules C: hbase-hbck2 . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-Operator-Tools-PreCommit/job/PR-90/3/console
versions git=2.20.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants