HBASE-29807 Depend on jcip-annotations explicitly#7592
HBASE-29807 Depend on jcip-annotations explicitly#7592NihalJain merged 2 commits intoapache:masterfrom
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
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-annotationsto the root pom's dependencyManagement section - Added
jcip-annotationsas 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.
| File | Description |
|---|---|
| pom.xml | Adds jcip-annotations to dependencyManagement with version 1.0-1 using groupId com.github.stephenc.jcip |
| hbase-client/pom.xml | Declares 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.
c80c665 to
7d5a9e3
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
db6fc19 to
188a66d
Compare
|
@Apache9 Since Hadoop has moved to |
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? |
71b6b4b to
baa13d6
Compare
|
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. |
baa13d6 to
3be672d
Compare
3be672d to
d6c7466
Compare
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)
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)
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)
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)
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)
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)
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)
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)
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)
Issue : HBase build fails with latest Hadoop versions due to missing
net.jcip.annotationspackage.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.