Skip to content

test: re-enable the NullType Parquet read tests that #4199 skipped - #7054

Open
andygrove wants to merge 2 commits into
apache:mainfrom
andygrove:reenable-nulltype-parquet-tests
Open

andygrove wants to merge 2 commits into
apache:mainfrom
andygrove:reenable-nulltype-parquet-tests

Conversation

@andygrove

Copy link
Copy Markdown
Member

Which issue does this PR close?

Follow-up to #4199, which is closed because it no longer reproduces on main.

Rationale for this change

Two tests were skipped until parquet-rs accepted Spark's encoding of a NullType Parquet column, BOOLEAN annotated UNKNOWN. One is Comet's own SPARK-54220 reproducer in CometNativeReaderSuite. The other is Spark's SPARK-54220: vectorized reader: missing all struct fields, struct with NullType only in ParquetIOSuite, which the 4.1.3 and 4.2.0 diffs ignored. apache/arrow-rs#9855 made parquet-rs accept UNKNOWN on any physical type, and the parquet 59 crate Comet uses includes it.

What changes are included in this PR?

  • CometNativeReaderSuite: the reproducer runs on Spark 4.1 and later, the versions that write NullType columns to Parquet, behind the same isSpark41Plus gate as the struct test beside it. Its comment no longer says the read fails.
  • dev/diffs/4.1.3.diff and dev/diffs/4.2.0.diff: the IgnoreComet on the SPARK-54220 test is gone, and with it the diffs' only change to ParquetIOSuite, including the IgnoreComet import. Both diffs were regenerated from Spark checkouts at their tags, as spark-sql-tests.md describes. Before the change, applying and regenerating each diff reproduced it byte for byte. Both new diffs apply cleanly to fresh checkouts.

How are these changes tested?

The re-enabled CometNativeReaderSuite test passes locally on Spark 4.1 and 4.2. Spark's own SPARK-54220 test runs in the Spark SQL jobs, so this PR carries run-spark-4.1-tests and run-spark-4.2-tests.

The test was skipped until parquet-rs accepted a NullType column's
BOOLEAN + UNKNOWN encoding. apache/arrow-rs#9855 made it accept UNKNOWN on
any physical type, and the parquet 59 crate includes it (apache#4199). Gate the
test on Spark 4.1, the first version that writes NullType columns to
Parquet, like the struct test beside it.
The 4.1.3 and 4.2.0 diffs ignored "SPARK-54220: vectorized reader: missing
all struct fields, struct with NullType only" for apache#4199, which no longer
reproduces. Both diffs were regenerated from Spark checkouts at their tags,
after a round trip that reproduced the old diffs byte for byte. With the
ignore gone, the diffs no longer touch ParquetIOSuite.
@github-actions github-actions Bot added enhancement New feature or request test Testing related labels Oct 16, 2026
@andygrove andygrove added run-spark-4.1-tests Run the Spark 4.1 SQL tests on this pull request instead of waiting for the merge queue run-spark-4.2-tests Run the Spark 4.2 SQL tests on this PR labels Oct 16, 2026

@rich7420 rich7420 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.

It's clean , LGTM

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

Labels

enhancement New feature or request run-spark-4.1-tests Run the Spark 4.1 SQL tests on this pull request instead of waiting for the merge queue run-spark-4.2-tests Run the Spark 4.2 SQL tests on this PR test Testing related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants