joseluisll commented on PR #8892: URL: https://github.com/apache/hadoop/pull/8892#issuecomment-6628887584
Thanks @pan3793 for the review. `jetty-util` is already shaded and relocated, and downstream projects never see it as a dependency. I built `hadoop-client-minicluster` on trunk and on this PR and compared the jars: | | trunk | this PR | |---|---|---| | relocated `jetty-util` classes (`org/apache/hadoop/shaded/org/eclipse/jetty/util/`) | 377 | 377 | | unrelocated `org/eclipse/jetty/` classes | 0 | 0 | | Jetty or Jersey dependencies in the published pom | 0 | 0 | The only differences between the two jars are the Jersey test container (Jetty → JDK HTTP) and the relocated `jetty-continuation`, which came only with the Jetty container and is used by neither Hadoop nor downstream projects. So `<optional>true</optional>` here doesn't make `jetty-util` an optional transitive dependency. It is how this pom bundles dependencies into the shaded jar, the same as `hadoop-minicluster`, Jersey and the test-framework provider. To your questions: 1. **Who uses it at runtime?** `HttpServer2` (`SslContextFactory`, `QueuedThreadPool`, …), which serves the mini clusters' web UIs. 2. **Why declare it now?** It used to arrive only through `jersey-test-framework-provider-jetty` → `jersey-container-jetty-http` → `jetty-util`. Switching to `provider-jdk-http` removed that path, so it is now declared directly, and the jar keeps the same 377 classes. 3. **Shade and relocate instead?** It already is. I also checked the downstream projects that depend on `hadoop-client-minicluster` (Spark, Accumulo, Kyuubi, Druid, Zeppelin, Phoenix connectors, DataFusion Comet, Kylin). None of them excludes or relies on `jetty-util` or a Jersey test provider coming from it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
