Skip to content

HBASE-29807 Depend on jcip-annotations explicitly - #7592

Merged
NihalJain merged 2 commits into
apache:masterfrom
xavifeds8:add_jcip/HBASE-29807
Mar 10, 2026
Merged

HBASE-29807 Depend on jcip-annotations explicitly#7592
NihalJain merged 2 commits into
apache:masterfrom
xavifeds8:add_jcip/HBASE-29807

Conversation

@xavifeds8

Copy link
Copy Markdown
Contributor

Issue : HBase build fails with latest Hadoop versions due to missing net.jcip.annotations package.
Earlier hadoop was dependent on com.nimbusds:nimbus-jose-jwt:jar:9.37.2 (which brought in com.github.stephenc.jcip:jcip-annotations:jar:1.0-1).

With latest hadoop: it has moved to com.nimbusds:nimbus-jose-jwt:jar:10.0.2 (which does not bring in the dependency), refer commit apache/hadoop@3baa288#diff-635a9ebcc70f58d8ca1c55b0d78cc90064a5081d189162a432271778da3cf018.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@NihalJainNihalJain changed the title Add jcip-annotations dependency to hbase for Hadoop 3.4+ compatibilityHBASE-29807 Add jcip-annotations dependency to hbase for Hadoop 3.4+ compatibilityJan 6, 2026
Comment threadpom.xml Outdated

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds the jcip-annotations dependency to HBase to maintain compatibility with Hadoop 3.4+, where the dependency is no longer transitively provided through nimbus-jose-jwt.

Key Changes:

  • Added jcip-annotations to the root pom's dependencyManagement section
  • Added jcip-annotations as a compile-scoped optional dependency to hbase-client module

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

FileDescription
pom.xmlAdds jcip-annotations to dependencyManagement with version 1.0-1 using groupId com.github.stephenc.jcip
hbase-client/pom.xmlDeclares jcip-annotations as a compile-scoped optional dependency for the hbase-client module where it's used

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threadpom.xml Outdated
Comment threadhbase-client/pom.xml
@xavifeds8xavifeds8 changed the title HBASE-29807 Add jcip-annotations dependency to hbase for Hadoop 3.4+ compatibilityHBASE-29807 Depend on jcip-annotations explicitlyJan 6, 2026
@xavifeds8
xavifeds8force-pushed the add_jcip/HBASE-29807 branch 3 times, most recently from c80c665 to 7d5a9e3CompareJanuary 6, 2026 05:26
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 50sDocker 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 28sMaven dependency ordering for branch
+1 💚mvninstall4m 40smaster passed
+1 💚compile13m 52smaster passed
+1 💚spotless1m 17sbranch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗mvndep0m 23sMaven dependency ordering for patch
+1 💚mvninstall4m 48sthe patch passed
+1 💚compile13m 22sthe patch passed
+1 💚javac13m 22sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚xmllint0m 1sNo new issues.
+1 💚hadoopcheck16m 48sPatch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 💚spotless1m 13spatch has no errors when running spotless:check.
_ Other Tests _
+1 💚asflicense0m 27sThe patch does not generate ASF License warnings.
68m 6s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7592/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#7592
Optional Testsdupname asflicense javac codespell detsecrets xmllint hadoopcheck spotless compile
unameLinux fe6486b418e1 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7d5a9e3
Default JavaEclipse Adoptium-17.0.11+9
Max. process+thread count187 (vs. ulimit of 30000)
modulesC: hbase-client . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7592/3/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 12sDocker 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 24sMaven dependency ordering for branch
+1 💚mvninstall3m 34smaster passed
+1 💚compile2m 22smaster passed
+1 💚javadoc2m 40smaster passed
+1 💚shadedjars5m 20sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall2m 19sthe patch passed
+1 💚compile1m 40sthe patch passed
+1 💚javac1m 40sthe patch passed
+1 💚javadoc1m 42sthe patch passed
+1 💚shadedjars4m 31spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌unit265m 22s/patch-unit-root.txtroot in the patch failed.
296m 14s
SubsystemReport/Notes
DockerClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7592/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#7592
Optional Testsjavac javadoc unit shadedjars compile
unameLinux d16a61eabf36 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7d5a9e3
Default JavaEclipse Adoptium-17.0.11+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7592/3/testReport/
Max. process+thread count5247 (vs. ulimit of 30000)
modulesC: hbase-client . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7592/3/console
versionsgit=2.34.1 maven=3.9.8
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@xavifeds8

Copy link
Copy Markdown
ContributorAuthor

@Apache9 Since Hadoop has moved to com.nimbusds:nimbus-jose-jwt:jar:10.0.2 (which no longer brings jcip-annotations as a transitive dependency), Hadoop now explicitly depends on com.github.stephenc.jcip to provide jcip-annotations.
However, in HBase, we currently have net.jcip specified in the supplemental-models.xml file, which also brings in jcip-annotations.
Should we align with Hadoop and move to com.github.stephenc.jcip, or should we continue using net.jcip?

@Apache9

Copy link
Copy Markdown
Contributor

@Apache9 Since Hadoop has moved to com.nimbusds:nimbus-jose-jwt:jar:10.0.2 (which no longer brings jcip-annotations as a transitive dependency), Hadoop now explicitly depends on com.github.stephenc.jcip to provide jcip-annotations. However, in HBase, we currently have net.jcip specified in the supplemental-models.xml file, which also brings in jcip-annotations. Should we align with Hadoop and move to com.github.stephenc.jcip, or should we continue using net.jcip?

The supplemental-models.xml file does not introduce dependencies, we use this file to tell some checks in the release stage(I can not recall the name) that these dependencies have incorrect license information but their licenses are compatibible.

So if we do not need to depend on some libraries any more, we could just remove the related section in supplemental-models.xml, and there is also no problem to leave it as is.

Since hadoop now depends on com.github.stephenc.jcip directly, why do we not pull the dependency in?

@xavifeds8
xavifeds8force-pushed the add_jcip/HBASE-29807 branch from 71b6b4b to baa13d6CompareMarch 4, 2026 20:59
@Apache9

Copy link
Copy Markdown
Contributor

I mean why we need to add it in our pom explicitly? We can not pull it in automatically when depending on hadoop? Hadoop also declares it as an optional dependency?

@xavifeds8

xavifeds8 commented Mar 5, 2026

Copy link
Copy Markdown
ContributorAuthor

I mean why we need to add it in our pom explicitly? We can not pull it in automatically when depending on hadoop? Hadoop also declares it as an optional dependency?

I was thinking it would be much safer if we declare it ourself so in the future If Hadoop later marks it optional or removes it. Hbase wont be affected. Since we directly use them in some classes, seems safer to just declare it ourselves rather than hoping it stays available transitively.
Adding to this, Hadoop adds the jcip dependency in the test scope. Hence we wont be getting that depedency transitively. hence the explicit depedency would be necessary.
What do you think? Any concerns with this approach?

@xavifeds8
xavifeds8force-pushed the add_jcip/HBASE-29807 branch from baa13d6 to 3be672dCompareMarch 8, 2026 17:45
@xavifeds8
xavifeds8force-pushed the add_jcip/HBASE-29807 branch from 3be672d to d6c7466CompareMarch 9, 2026 15:05
@NihalJain
NihalJain merged commit 832e68e into apache:masterMar 10, 2026
10 of 13 checks passed
xavifeds8 added a commit to xavifeds8/hbase that referenced this pull request Mar 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
xavifeds8 added a commit to xavifeds8/hbase that referenced this pull request Mar 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
xavifeds8 added a commit to xavifeds8/hbase that referenced this pull request Mar 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
xavifeds8 added a commit to xavifeds8/hbase that referenced this pull request Mar 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
xavifeds8 added a commit to xavifeds8/hbase that referenced this pull request Mar 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
NihalJain pushed a commit that referenced this pull request Mar 11, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
NihalJain pushed a commit that referenced this pull request Mar 11, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
NihalJain pushed a commit that referenced this pull request Mar 11, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
NihalJain pushed a commit that referenced this pull request Mar 11, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
harshmishra-ce pushed a commit to acceldata-io/hbase that referenced this pull request Jun 8, 2026
…he#7893)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
prabhjyotsingh pushed a commit to acceldata-io/hbase that referenced this pull request Jun 9, 2026
…he#7893)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
Reviewed-by: Liu Xiao <liuxiao2103@qq.com>
(cherry picked from commit 832e68e)
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.

6 participants

@xavifeds8@Apache-HBase@Apache9@NihalJain@liuxiaocs7