Skip to content

Conversation

@yaooqinn
Copy link
Member

What changes were proposed in this pull request?

Add a nonnullable DefaultCachedBatchKryoSerializer to avoid null propagating in DefaultCachedBatch serde

Why are the changes needed?

The cached data might become malformed sometimes. If Kryo fails to serialize/deserialize it and throw exceptions, it's kind of fine. But if it reads it as null, it will lead Spark to NPEs.

image

We need to detect these errors early

Does this PR introduce any user-facing change?

No

How was this patch tested?

new tests

Was this patch authored or co-authored using generative AI tooling?

no

…alizer to avoid null propagating in DefaultCachedBatch serde
@github-actions github-actions bot added the SQL label Apr 16, 2025
@yaooqinn yaooqinn closed this in beb71bb Apr 16, 2025
@yaooqinn yaooqinn deleted the SPARK-51813 branch April 16, 2025 05:56
@yaooqinn
Copy link
Member Author

Merged to master, thank you @cloud-fan

baibaichen added a commit to baibaichen/gluten that referenced this pull request Jan 12, 2026
baibaichen added a commit to baibaichen/gluten that referenced this pull request Jan 13, 2026
baibaichen added a commit to baibaichen/gluten that referenced this pull request Jan 13, 2026
baibaichen added a commit to apache/incubator-gluten that referenced this pull request Jan 13, 2026
* Move GlutenStreamingQuerySuite to correct package

* Add Spark 4.1 new test suites for Gluten

* Enable new and existing Gluten test suites for Spark 4.1 UT

* Update workflow trigger paths to exclude Spark 4.0 and 4.1 shims directories for clickhouse backend

* Add support for Spark 4.1 in build script

* Merge Spark 4.1.0 sql-tests into Gluten Spark 4.1 (three-way merge)

Three-way merge performed using Git:
- Base: Spark 4.0.1 (29434ea766b)
- Left: Spark 4.1.0 (e221b56be7b)
- Right: Gluten Spark 4.1 backends-velox

Summary:
- Auto-merged: 165 files
- New tests added: 31 files (collations, edge cases, recursion, spatial, etc.)
- Modified tests: 134 files
- Deleted tests: 2 files (collations.sql -> split into 4 files, timestamp-ntz.sql)

Conflicts resolved:
- inputs/timestamp-ntz.sql: Right deleted + Left modified -> DELETED (per resolution rule)

New test suites from Spark 4.1.0:
- Collations (4 files): aliases, basic, padding-trim, string-functions
- Edge cases (6 files): alias-resolution, extract-value, join-resolution, etc.
- Advanced features: cte-recursion, generators, kllquantiles, thetasketch, time
- Name resolution: order-by-alias, session-variable-precedence, runtime-replaceable
- Spatial functions: st-functions (ANSI and non-ANSI variants)
- Various resolution edge cases

Total files after merge: 671 (up from 613)

* Enable additional Spark 4.1 SQL tests by resolving TODOs

* Add new Spark 4.1 test files to VeloxSQLQueryTestSettings

* [Fix] Replace `RuntimeReplaceable` with its `replacement` to fix UT.

see apache/spark#50287

* [4.1.0] Exclude "infer shredding with mixed scale"

see apache/spark#52406

* [Fix] Implement Kryo serialization for CachedColumnarBatch

see apache/spark#50599

* [4.1.0] Exclude GlutenMapStatusEndToEndSuite and configure parallelism

see apache/spark#50230

* [4.1.0] Exclude Spark Structure Steaming tests in Gluten

see
 - apache/spark#52473
 - apache/spark#52870
 - apache/spark#52891

* [4.1.0] Exclude failing SQL tests on Spark 4.1

* Replace SparkException.require with standard require in ColumnarCachedBatchSerializer to work across different spark versions

* [Fix] Replace `RuntimeReplaceable` with its `replacement` to fix UT.

see apache/spark#50287

* Exclude Spark 4.0 and 4.1 paths in clickhouse_be_trigger using `!` prefix

* [Fix] Update GlutenShowNamespacesParserSuite to use GlutenSQLTestsBaseTrait
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants