test(spark): add streaming source and writer support coverage#19166
Conversation
hudi-agent
left a comment
There was a problem hiding this comment.
Thanks for the contribution! This PR adds Spark test coverage for the legacy incremental streaming-read path, the HoodieStreamingSink ignore-failed-batch behavior, and column-stats data skipping across multiple base files. No correctness issues found. A few style/readability suggestions in the inline comments. Please take a look, and this should be ready for a Hudi committer or PMC member to take it from here. A couple of small naming nits below — records1/inputDF1 dangling suffixes and a test name capitalisation inconsistency.
cc @yihua
| } | ||
| } | ||
|
|
||
| test("Test column stats data skipping across multiple files with range, IN and equality predicates") { |
There was a problem hiding this comment.
🤖 nit: the test name starts with a capital "Test" while the other tests added in this same PR (e.g. "test cow stream source…") use lowercase — could you change it to "test column stats data skipping…" for consistency?
Describe the issue this Pull Request addresses
The Spark structured-streaming source and sink/writer support in
hudi-spark-commonhad under-covered branches, notably the legacy incremental-relation streaming path inHoodieStreamSourceV1.Summary and Changelog
TestStreamingSource: new COW and MOR streaming-read tests that force the legacy incremental relation path inHoodieStreamSourceV1(streaming read table version 6 withhoodie.file.group.reader.enabled=false), complementing the existing tests that cover the file-group-reader path. Reads are synchronized viaprocessAllAvailable.TestStructuredStreaming: new test that injects a failing micro-batch and verifiesHoodieStreamingSinkswallows it underhoodie.datasource.write.streaming.ignore.failed.batch, completing the query without crashing and writing no commit.TestDataSkippingQuery: new column-stats data-skipping test over multiple base files with disjoint value ranges, covering equality, range, IN, and empty-match predicates for COW and MOR, with a data-skipping-off parity check.Impact
Test-only change. No production code is modified.
Risk Level
none
Documentation Update
none
Contributor's checklist