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]

Reply via email to