Skip to content

[HUDI-5621] Decouple Hive from integ-test-bundle [FaaFyfxR9WAQrL7FcAgEHJvztd8cVMxvjHRS55rw1nwH] - #19580

Open
waterWang wants to merge 1 commit into
apache:masterfrom
waterWang:fix/hudi-5621-decouple-hive-from-bundle-test
Open

[HUDI-5621] Decouple Hive from integ-test-bundle [FaaFyfxR9WAQrL7FcAgEHJvztd8cVMxvjHRS55rw1nwH]#19580
waterWang wants to merge 1 commit into
apache:masterfrom
waterWang:fix/hudi-5621-decouple-hive-from-bundle-test

Conversation

@waterWang

Copy link
Copy Markdown

Change Logs

Remove the direct org.apache.hive:* dependencies from the integ-test bundle pom, along with the corresponding shade includes and relocations. The Hive functionality is still available through the separate hudi-hive-sync-bundle module, which is the dedicated bundle for Hive sync operations.

Impact

  • The hudi-integ-test-bundle no longer bundles Hive artifacts directly
  • Hive sync functionality is still available via hudi-hive-sync-bundle
  • hudi-hive-sync (Hudi's own module) is still included in the bundle as before
  • Follows the same pattern as HUDI-9020 (Remove HBase dependencies from Hudi)

Checklist

  • Commit message follows the pattern [HUDI-5621] ...
  • Changes are limited to packaging/hudi-integ-test-bundle/pom.xml
  • Removed: org.apache.hive:* dependencies (hive-exec, hive-metastore, hive-jdbc, hive-common)
  • Removed: org.apache.hive:* and org.apache.hadoop.hive:* shade includes
  • Removed: Hive-specific shade relocations (11 relocations)

Fixes #15724

Remove the direct org.apache.hive:* dependencies from the integ-test
bundle pom, along with the corresponding shade includes and relocations.
The Hive functionality is still available through the separate
hudi-hive-sync-bundle module, which is the dedicated bundle for Hive
sync operations.

This prevents the integ-test bundle from forcing Hive on all users and
follows the same pattern as HUDI-9020 (Remove HBase dependencies).

Fixes apache#15724
@github-actions github-actions Bot added the size:M PR with lines of changes in (100, 300] label Aug 11, 2026

@hudi-agent hudi-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ 🤖 This review was generated by an AI agent and may contain mistakes. Please verify any suggestions before applying.

Thanks for working on this! This PR removes the direct org.apache.hive:* dependencies, shade includes, and relocations from the integ-test bundle to decouple Hive. One thing worth double-checking before merge: the shade config is an allow-list, and the bundle still ships hudi-hive-sync and hudi-integ-test main code that references Hive classes at runtime (embedded HiveServer2, Hive sync DAG nodes) — see the inline comment on whether those classes are still available on the runtime classpath. Please take a look at the inline comment, and this should be ready for a Hudi committer or PMC member to take it from here.

<include>org.apache.hive:hive-exec</include>


<include>com.yammer.metrics:metrics-core</include>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 This shade <artifactSet><includes> is an allow-list, so dropping the four org.apache.hive:* includes means those classes are no longer packaged into the bundle even though they still resolve transitively via hudi-hive-sync. But the bundle still includes hudi-hive-sync (line 84) and hudi-integ-test (line 88), and their main code references Hive at runtime — e.g. HiveServiceProvider imports org.apache.hive.service.server.HiveServer2 (hive-service), and HiveSyncNode/HiveSyncTool pull in hive-jdbc/metastore/common. Won't the test-suite DAGs that run Hive sync / start the embedded HiveServer2 from this jar now hit NoClassDefFoundError, unless Hive is guaranteed on the runtime classpath externally? Could you confirm how the integ-test-bundle is launched (is Hive provided by the container/spark classpath), or whether these Hive includes still need to stay?

⚠️ AI-generated; verify before applying. React 👍/👎 to flag quality.

@codecov-commenter

codecov-commenter commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.49%. Comparing base (dfc2106) to head (f24b2b6).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #19580      +/-   ##
============================================
- Coverage     77.49%   77.49%   -0.01%     
+ Complexity    32784    32781       -3     
============================================
  Files          2522     2522              
  Lines        139140   139140              
  Branches      16723    16723              
============================================
- Hits         107832   107822      -10     
- Misses        23742    23748       +6     
- Partials       7566     7570       +4     
Components Coverage Δ
hudi-common 83.26% <ø> (+<0.01%) ⬆️
hudi-client 82.71% <ø> (-0.02%) ⬇️
hudi-flink 85.74% <ø> (-0.01%) ⬇️
hudi-spark-datasource 70.60% <ø> (-0.01%) ⬇️
hudi-utilities 73.63% <ø> (-0.04%) ⬇️
hudi-cli 15.32% <ø> (ø)
hudi-hadoop 68.94% <ø> (ø)
hudi-sync 75.16% <ø> (ø)
hudi-io 79.46% <ø> (ø)
hudi-timeline-service 83.44% <ø> (ø)
hudi-cloud 64.06% <ø> (ø)
hudi-kafka-connect 53.20% <ø> (ø)
Flag Coverage Δ
common-and-other-modules 50.85% <ø> (-0.01%) ⬇️
flink-integration-tests 49.18% <ø> (-0.01%) ⬇️
hadoop-mr-java-client 43.72% <ø> (+<0.01%) ⬆️
integration-tests 13.57% <ø> (+<0.01%) ⬆️
spark-client-hadoop-common 50.38% <ø> (+<0.01%) ⬆️
spark-java-tests 51.61% <ø> (-0.01%) ⬇️
spark-scala-tests 45.96% <ø> (-0.01%) ⬇️
utilities 36.58% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 12 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hudi-bot

Copy link
Copy Markdown
Collaborator

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

@voonhous

Copy link
Copy Markdown
Member

Thank you for the contribution, can you please read through the contribution guide and adhere to the PR template?

On top of that, please refrain from including your Solana wallet address in the title or any of the comments here.

We do not endorse/encourage soliciting of payments when contributing to OSS.

If this is not done in the next 24 hours, we will be closing all your PRs with such signatures in order to not set a dangerous precedence.

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M PR with lines of changes in (100, 300]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decouple hive from bundle test

5 participants