[
https://issues.apache.org/jira/browse/HADOOP-20013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18134769#comment-18134769
]
ASF GitHub Bot commented on HADOOP-20013:
-----------------------------------------
joseluisll opened a new pull request, #8891:
URL: https://github.com/apache/hadoop/pull/8891
### Description of PR
Part of HADOOP-19912 (Jetty 12 on ee8): split out of #8699, where it was
reviewed.
`javax-websocket-server-impl` brings `javax.annotation:javax.annotation-api`
1.3.2 through `jetty-annotations`, next to
`jakarta.annotation:jakarta.annotation-api` 1.3.5, which `jersey-common`
already brings. Both jars provide the same `javax.annotation` classes.
- hadoop-project: exclude `javax.annotation-api` from
`javax-websocket-server-impl`.
- LICENSE-binary / NOTICE-binary: list `jakarta.annotation-api` 1.3.5 (EPL
2.0 + GPLv2 with classpath exception) instead of `javax.annotation-api` 1.3.2.
- NodeManager (the module that declares `javax-websocket-server-impl`):
`TestAnnotationApiClasspath` checks that `javax/annotation/PostConstruct.class`
comes from exactly one jar, `jakarta.annotation-api`. It is self-contained, so
it does not depend on HADOOP-19970.
### How was this patch tested?
- `TestAnnotationApiClasspath` passes on this branch. With trunk's poms it
fails: both jars provide the class.
- The dist no longer contains `javax.annotation-api-1.3.2.jar`, and
`jakarta.annotation-api` 1.3.5 was already there.
### For code changes:
- [x] Does the title of this PR start with the corresponding JIRA issue id
(e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: Have the integration tests been executed and the
endpoint declared according to the connector-specific documentation? (not
applicable)
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)? (no new
dependencies; one duplicate removed)
- [x] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files?
### AI Tooling
If an AI tool was used:
- [x] The PR includes the phrase "Contains content generated by <tool>"
where <tool> is the name of the AI tool used.
- [x] My use of AI contributions follows the ASF legal policy
https://www.apache.org/legal/generative-tooling.html
Contains content generated by Claude Code.
> HADOOP - Remove the duplicate javax.annotation-api from the classpath
> ---------------------------------------------------------------------
>
> Key: HADOOP-20013
> URL: https://issues.apache.org/jira/browse/HADOOP-20013
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: build, common
> Reporter: Jose Luis López
> Priority: Major
>
> *Scope*:
> * hadoop-project/pom.xml: on javax-websocket-server-impl, exclude
> javax.annotation:javax.annotation-api, which arrives through
> jetty-annotations. jakarta.annotation-api 1.3.5 already provides the same
> javax.annotation classes.
> * LICENSE-binary and NOTICE-binary: replace
> javax.annotation:javax.annotation-api:1.3.2 with
> jakarta.annotation:jakarta.annotation-api:1.3.5. The jakarta jar is already
> bundled (through jersey-common) but is missing from LICENSE-binary.
> *Why*: two jars publish the javax.annotation packages, and which one a module
> sees depends on jar order.
> *Impact on Jetty 9*: none. Same classes.
> *Downstream*:
> * hadoop-yarn-server-nodemanager, the only module that declares
> javax-websocket-server-impl: its consumers no longer get javax.annotation-api
> 1.3.2. jakarta.annotation-api 1.3.5 provides the same javax.annotation
> classes.
> * hadoop-client-minicluster: loses its relocated copy of javax.annotation-api
> and keeps the relocated jakarta.annotation-api. Not API.
> * hadoop-client-api, hadoop-client-runtime: unchanged.
> *CI*: touches hadoop-project, so a full build.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]