Skip to content

feat: support whole-value Variant scan pushdown - #6443

Draft
peterxcli wants to merge 1 commit into
apache:mainfrom
peterxcli:feat/variant-whole-value-pushdown
Draft

peterxcli wants to merge 1 commit into
apache:mainfrom
peterxcli:feat/variant-whole-value-pushdown

Conversation

@peterxcli

Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #5519.

Rationale for this change

Spark 4.1 enables the whole-value Variant scan rewrite by default, which currently forces Comet to fall back.

What changes are included in this PR?

Recognize Spark's single full-Variant request, reuse the native normalizer, and preserve the wrapper's metadata and nulls through serialization and FFI. Update the Variant support documentation.

How are these changes tested?

Native Parquet and Comet Variant tests cover canonical and shredded values, nulls, metadata, unsupported requests, and reader guards. Selected upstream Spark 4.1.3 assertions also pass with the native rewrite enabled.

The broader native run has a timing-sensitive failure in the unchanged S3 credential refresh test, which passes in isolation.

Draft pending broader Spark CI: please apply run-spark-4.1-tests and run-all-spark-profiles before marking ready for review.

@github-actions github-actions Bot added enhancement New feature or request area:scan Parquet scan / data reading area:expressions Expression evaluation labels Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:expressions Expression evaluation area:scan Parquet scan / data reading enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Variant] Support Spark's pushed one-field VariantStruct (whole-value pushVariantIntoScan rewrite) in native Parquet scans

1 participant