Skip to content

HBASE-28879 Bump hbase-thirdparty to 4.1.9 - #6295

Merged
ndimiduk merged 5 commits into
apache:masterfrom
ndimiduk:hbase-thirdparty-4.1.9rc0
Sep 30, 2024
Merged

HBASE-28879 Bump hbase-thirdparty to 4.1.9#6295
ndimiduk merged 5 commits into
apache:masterfrom
ndimiduk:hbase-thirdparty-4.1.9rc0

Conversation

@ndimiduk

Copy link
Copy Markdown
Member

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

FYI @Apache9@apurtell The backport to branch-2.5 does not apply cleanly. The version of hbase-thirdparty on branch-2.5 is several patch released behind.

I think it would be wise to increment the version there as well, for the purpose of CVE mitigation.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

I talked myself into it. Here's a backport for branch-2.5.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

Oops nope, that a major version bump of the protobuf jar.

@Apache9

Copy link
Copy Markdown
Contributor

Thanks @ndimiduk for taking care of this.

There is an issue for this HBASE-28879.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

Perfect. Thanks.

@ndimidukndimiduk changed the title Test with hbase-thirdparty 4.1.9RC0HBASE-28879 Bump hbase-thirdparty to 4.1.9Sep 25, 2024
@Apache-HBase

This comment has been minimized.

Comment threadpom.xml
hbase-thirdparty.
-->
<hbase-thirdparty.version>4.1.8</hbase-thirdparty.version>
<hbase-thirdparty.version>4.1.9</hbase-thirdparty.version>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

we may also want to sync versions of error prone and netty4 with hbase-thirdparty

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

This is getting out of hand. See how many fix-up commits I had to push to various projects? We should be managing all these version numbers with a BOM import.

This blog post has a nice write-up on the idea, https://www.garretwilson.com/blog/2023/06/14/improve-maven-bom-pattern

I think that hbase-thirdparty could publish a BOM pom file that can be imported into any of the downstream hbase projects that make use of that release of hbase-thirdparty. That will centralize management of these dependencies in the hbase-thirdparty repo, and we won't have to play whack-a-mole in the main project poms.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Right, I was thinking about the same. Because it does not make sense to waste time doing this and still miss out on one or the another. We already have something similar for org.mockito:mockito-bom:

hbase/pom.xml

Line 1626 in 449c446

<artifactId>mockito-bom</artifactId>

@NihalJainNihalJainSep 25, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should file a jira to handle this. At least will have a better way of doing thirdparty change with a one liner change with next thirdparty release, which is how it should have been ideally.

I can help with implementing this, please lmk if you do not plan to fix this yourself.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Updating error prone is not trivial, sometimes it may cause some compile errors since they may introduced some new check rules, so usually I will open a new issue for updating error prone.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

And on netty4 dependencies, hbase does not depend on it directly since we use the shaded one in hbase thirdparty, it is mainly introduced by hadoop and zookeeper. And in hadoop 3.4.0, IIRC hadoop also shaded and relocated netty in their thirdparty jar, so maybe we need to discuss whether we will need to force netty dependencies in hbase, maybe just leave it as is.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

And on netty4 dependencies, hbase does not depend on it directly since we use the shaded one in hbase thirdparty, it is mainly introduced by hadoop and zookeeper. And in hadoop 3.4.0, IIRC hadoop also shaded and relocated netty in their thirdparty jar, so maybe we need to discuss whether we will need to force netty dependencies in hbase, maybe just leave it as is.

So we need not necessarily align netty with thirdparty.
Same for error prone.

Filed https://issues.apache.org/jira/browse/HBASE-28883

Please see apache/hbase-thirdparty#124, NihalJain@0b51c71

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Okay so we do not need to maintain alignment on netty or errorprone? Jackson and protobuf are the only two that require alignment?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let me explain more clear.

For error prone, we'd better also bump the error prone to the same version with thirparty, but it is not trivial sometimes, and since hbase-thirdparty only depends on the annotation jar(even not shaded), so it is not likely to introduce any conflicts. So I think it is better to have a separated issue for bumping it, after upgrading the hbase-thirdparty.

For netty, since hbase does not depend on netty4 directly, we do not need to align the netty version with the one in hbase-thirdparty.
We maintain it in our pom is because the conflicts between zookeeper and hadoop. So if there are no CVEs for netty, we do not need to bump it in hbase. And after hadoop 3.4.0, since hadoop also shade netty(IIRC), maybe we even do not need to do this any more. If there are new CVEs for netty, maybe we just need to bump the zookeeper dependency?

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@ndimiduk
ndimidukforce-pushed the hbase-thirdparty-4.1.9rc0 branch from 9d9bb38 to c72cc80CompareSeptember 26, 2024 09:05
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@ndimiduk
ndimidukforce-pushed the hbase-thirdparty-4.1.9rc0 branch from c72cc80 to a37b900CompareSeptember 27, 2024 12:37
@ndimiduk
ndimiduk marked this pull request as ready for review September 27, 2024 12:38
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 39sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗codespell0m 0scodespell was not available.
+0 🆗detsecrets0m 0sdetect-secrets was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for branch
+1 💚mvninstall3m 9smaster passed
+1 💚compile8m 34smaster passed
+1 💚spotless0m 46sbranch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for patch
+1 💚mvninstall4m 9sthe patch passed
+1 💚compile9m 49sthe patch passed
-0 ⚠️javac9m 49s/results-compile-javac-root.txtroot generated 10 new + 1205 unchanged - 7 fixed = 1215 total (was 1212)
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚xmllint0m 0sNo new issues.
+1 💚hadoopcheck12m 53sPatch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚spotless1m 6spatch has no errors when running spotless:check.
_ Other Tests _
+1 💚asflicense0m 49sThe patch does not generate ASF License warnings.
50m 57s
SubsystemReport/Notes
DockerClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6295/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#6295
Optional Testsdupname asflicense javac codespell detsecrets xmllint hadoopcheck spotless compile
unameLinux 714a99bf9835 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / a37b900
Default JavaEclipse Adoptium-17.0.11+9
Max. process+thread count192 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-examples . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6295/4/console
versionsgit=2.34.1 maven=3.9.8 xmllint=20913
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 18sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for branch
+1 💚mvninstall4m 5smaster passed
+1 💚compile2m 44smaster passed
+1 💚javadoc2m 56smaster passed
+1 💚shadedjars6m 45sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 20sMaven dependency ordering for patch
+1 💚mvninstall3m 38sthe patch passed
+1 💚compile2m 43sthe patch passed
+1 💚javac2m 43sthe patch passed
+1 💚javadoc3m 34sthe patch passed
+1 💚shadedjars6m 38spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌unit300m 12s/patch-unit-root.txtroot in the patch failed.
339m 46s
SubsystemReport/Notes
DockerClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6295/4/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#6295
Optional Testsjavac javadoc unit shadedjars compile
unameLinux be86163b9995 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / a37b900
Default JavaEclipse Adoptium-17.0.11+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6295/4/testReport/
Max. process+thread count5610 (vs. ulimit of 30000)
modulesC: hbase-protocol-shaded hbase-examples . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6295/4/console
versionsgit=2.34.1 maven=3.9.8
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@ndimiduk
ndimiduk merged commit 788cf74 into apache:masterSep 30, 2024
@ndimiduk
ndimiduk deleted the hbase-thirdparty-4.1.9rc0 branch September 30, 2024 10:46
Sign up for freeto 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.

4 participants

@ndimiduk@Apache9@Apache-HBase@NihalJain