Skip to content

test(spark): cover partitioned RLI on a hive-style partition column containing a dot - #19964

Draft
yihua wants to merge 1 commit into
apache:masterfrom
yihua:oss-rli-dot-functional-test
Draft

yihua wants to merge 1 commit into
apache:masterfrom
yihua:oss-rli-dot-functional-test

Conversation

@yihua

@yihua yihua commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Describe the issue this Pull Request addresses

issue: #19750

#19751 fixed the escaping but only added unit tests on PartitionPathEncodeUtils.escapeFileName. Nothing exercises partitioned RLI end to end on a dotted partition column, so a regression in the file-id or log-file-name path would not be caught.

Summary and Changelog

Adds TestRecordLevelIndex#testPartitionedRecordLevelIndexWithDotInHiveStylePartitionColumn: writes a COW table partitioned on the nested field fare.currency with hive-style partitioning, then asserts the partitioned record index resolves every key in the fare.currency=USD partition, both after the initial insert and after an upsert.

Verified non-vacuous: with the escapeFileName change from #19751 reverted the test fails on the first write (the unescaped dot makes the record-index log file name unparseable, so record_index is not recognized among the inflight metadata partitions); with it in place the test passes.

Coverage is deliberately limited to the dotted column name, matching the scope of the fix. Dotted partition values, nested hive-style paths and non-hive-style dotted paths remain covered only by the unit assertions in TestPartitionPathEncodeUtils.

Impact

None. Test-only.

Risk Level

none

Documentation Update

none

Contributor's checklist

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

…ontaining a dot

Writes a COW table partitioned on the nested field fare.currency with hive-style
partitioning and asserts the partitioned record index resolves every key in the
fare.currency=USD partition, after the initial insert and after an upsert.

Reverting the escapeFileName change from apache#19751 makes this fail on the
first write, so the test guards that fix rather than passing vacuously.
@github-actions github-actions Bot added the size:S PR with lines of changes in (10, 100] label Sep 15, 2026
@codecov-commenter

codecov-commenter commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.32%. Comparing base (c798cca) to head (b597ffd).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master   #19964   +/-   ##
=========================================
  Coverage     80.31%   80.32%           
+ Complexity    34751    34750    -1     
=========================================
  Files          2546     2546           
  Lines        142522   142522           
  Branches      17304    17304           
=========================================
+ Hits         114465   114475   +10     
+ Misses        20162    20147   -15     
- Partials       7895     7900    +5     
Components Coverage Δ
hudi-common 83.87% <ø> (+<0.01%) ⬆️
hudi-client 83.36% <ø> (+0.03%) ⬆️
hudi-flink 85.56% <ø> (-0.01%) ⬇️
hudi-spark-datasource 73.77% <ø> (-0.01%) ⬇️
hudi-utilities 78.18% <ø> (-0.01%) ⬇️
hudi-cli 69.99% <ø> (ø)
hudi-hadoop 70.90% <ø> (-0.02%) ⬇️
hudi-sync 76.02% <ø> (ø)
hudi-io 81.61% <ø> (+0.09%) ⬆️
hudi-timeline-service 83.34% <ø> (ø)
hudi-cloud 80.99% <ø> (ø)
hudi-kafka-connect 53.20% <ø> (ø)
Flag Coverage Δ
common-and-other-modules 52.06% <ø> (-0.01%) ⬇️
flink-integration-tests 49.04% <ø> (-0.01%) ⬇️
hadoop-mr-java-client 43.90% <ø> (+<0.01%) ⬆️
integration-tests 13.45% <ø> (-0.01%) ⬇️
spark-client-hadoop-common 38.55% <ø> (-0.01%) ⬇️
spark-java-tests 52.29% <ø> (+<0.01%) ⬆️
spark-scala-tests 46.92% <ø> (+<0.01%) ⬆️
utilities 36.84% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 16 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

This branch has not been deployed

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

Labels

size:S PR with lines of changes in (10, 100]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants