stag7824 opened a new pull request, #19854:
URL: https://github.com/apache/hudi/pull/19854
### Describe the issue this Pull Request addresses
Closes #19511.
`hudi-hive-sync-bundle` and `hudi-gcp-bundle` both depend on
`hudi-hadoop-mr-bundle` (a shaded fat jar) while their own `artifactSet`
already lists `org.apache.hudi:hudi-hadoop-mr` and `hudi-hadoop-common`
directly, so they shade those classes themselves and never needed the fat jar
as a dependency.
This is not simply the `hudi-presto-bundle` fix (#19490) repeated: in that
case `hudi-hadoop-mr` was reached *only* through `hudi-hadoop-mr-bundle`'s
published dependency-reduced POM. Here, both bundles already depend directly on
`hudi-hive-sync` (a plain library, not a bundle), which itself brings in
`hudi-hadoop-common` and `hudi-hadoop-mr` transitively:
```
hudi-hive-sync-bundle
+- hudi-common:compile
+- hudi-hadoop-mr-bundle:compile <-- the fat jar, now removed
\- hudi-hive-sync:compile
+- hudi-hadoop-common:compile <-- reached via the library, not
the bundle
+- hudi-hadoop-mr:compile
\- hudi-sync-common:compile
```
Removing `hudi-hadoop-mr-bundle` does not drop either class from the shaded
output — they're still reachable through `hudi-hive-sync`, and still listed
directly in the `artifactSet` so the shade plugin still relocates them.
### Summary and Changelog
Removed the `org.apache.hudi:hudi-hadoop-mr-bundle` dependency from
`packaging/hudi-hive-sync-bundle/pom.xml` and
`packaging/hudi-gcp-bundle/pom.xml`. No source changes. Added a short comment
at each removal explaining why the fat jar isn't needed, matching the one
already in `hudi-presto-bundle`'s pom.
### Impact
None. Both bundles' shaded output is unchanged — `hudi-hadoop-mr` and
`hudi-hadoop-common` are still included, just reached through `hudi-hive-sync`
rather than through the now-removed fat jar.
### Risk Level
low. This only removes a redundant dependency edge; verified by inspecting
both `artifactSet` blocks (both already list `hudi-hadoop-mr` and
`hudi-hadoop-common` directly) and both bundles' existing `hudi-hive-sync`
dependency, which is what keeps those classes reachable.
### Documentation Update
none.
### Contributor's checklist
- [x] Read through [contributor's
guide](https://hudi.apache.org/contribute/how-to-contribute)
- [x] Enough context is provided in the sections above
- [x] Adequate tests were added if applicable — none needed;
build-graph-only change, no source or behavior change
--
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]