Skip to content

Gluten functional sweep#18890

Closed
vamsikarnika wants to merge 3 commits into
apache:masterfrom
vamsikarnika:gluten-functional-sweep
Closed

Gluten functional sweep#18890
vamsikarnika wants to merge 3 commits into
apache:masterfrom
vamsikarnika:gluten-functional-sweep

Conversation

@vamsikarnika
Copy link
Copy Markdown
Collaborator

Describe the issue this Pull Request addresses

Summary and Changelog

Impact

Risk Level

Documentation Update

Contributor's checklist

  • Read through contributor's guide
  • Enough context is provided in the sections above
  • Adequate tests were added if applicable

Vamsi Karnika and others added 3 commits June 1, 2026 12:10
…test harness

Wires the prebuilt quanton-velox-bundle (Onehouse's rebranded Gluten) into the
Hudi functional-test harness for a Spark data-type offload sweep.

- HoodieClientTestUtils.getSparkConfForTest: inject Quanton plugin + columnar
  configs, gated behind -Dhudi.test.gluten.enabled=true (default off, so the
  harness stays vanilla otherwise). Config keys use the bundle's actual
  ai.onehouse.quanton / spark.quanton.* namespace, NOT upstream org.apache.gluten
  / spark.gluten.* (the bundle relocates everything via shading).
- hudi-spark-client/pom.xml + hudi-spark/pom.xml: add quanton-velox-bundle as a
  test-scope dependency (installed into the local repo via install:install-file).
- hudi-spark/pom.xml scalatest argLine: add the JNI --add-opens/--add-exports the
  native runtime needs (surefire-run tests already get these from the root pom).

NOTE: the sweep does not yet run -- the bundle's native libgluten.so aborts the
JVM at plugin init with "Unable to find method rtHandle within signature()J"
(native/Java ABI mismatch inside the prebuilt bundle). Tracking separately.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ack reporter

Switch the sweep harness from the quanton-rebranded bundle (whose libgluten.so
hardcodes org/apache/gluten/* JNI class paths that shading relocated to
ai/onehouse/quanton/*, aborting the JVM at init) to the non-rebranded
gluten-velox-bundle, whose native .so and Java classes agree (all 10 JNI
bootstrap classes resolve). Gluten now initializes and runs full suites.

- HoodieClientTestUtils: org.apache.gluten.GlutenPlugin + spark.gluten.* config.
  Drop the fallback thresholds (threshold=1 forced whole-query fallback and
  masked per-operator reasons); keep GlutenFallbackReporter on so each
  non-offloadable operator logs its concrete reason (the sweep signal).
- poms: depend on org.apache.gluten:gluten-velox-bundle (install:install-file'd).

Smoke (TestParquetReaderCompatibility): 20/20 pass under Gluten, BUILD SUCCESS
with -DskipUTs=true (skips the unrelated scalatest run). Dominant fallback so far
is "Unsupported file format UnknownFormat" at Scan HudiFileGroup -- a Hudi
scan-path gap, not a type gap.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ire argLine

The first COW sweep errored 158/230 with "DirectByteBuffer.<init>(long,int) not
available" from netty during Gluten columnar-shuffle deserialization. Root cause:
the JNI flags were only on the scalatest plugin, but the target tests are JUnit
@test and run under surefire (which inherited an argLine lacking
io.netty.tryReflectionSetAccessible + the jdk.internal.misc open/export).

Add a maven-surefire-plugin override that appends those to @{argLine}. Validated:
TestBasicSchemaEvolution 12/12 pass (was 12/12 error), 0 netty errors, fallback
reporter shows the real signal ("Unsupported file format UnknownFormat").

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.89%. Comparing base (f64c93e) to head (b35bcef).
⚠️ Report is 252 commits behind head on master.

❗ There is a different number of reports uploaded between BASE (f64c93e) and HEAD (b35bcef). Click for more details.

HEAD has 15 uploads less than BASE
Flag BASE (f64c93e) HEAD (b35bcef)
spark-scala-tests 6 0
spark-java-tests 9 0
Additional details and impacted files
@@              Coverage Diff              @@
##             master   #18890       +/-   ##
=============================================
- Coverage     57.27%   44.89%   -12.38%     
+ Complexity    18650     8573    -10077     
=============================================
  Files          1956     1203      -753     
  Lines        107076    62990    -44086     
  Branches      13255     6854     -6401     
=============================================
- Hits          61329    28281    -33048     
+ Misses        39943    31579     -8364     
+ Partials       5804     3130     -2674     
Flag Coverage Δ
hadoop-mr-java-client 44.89% <ø> (-0.32%) ⬇️
spark-java-tests ?
spark-scala-tests ?

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants