build: Add spark-4.1 profile and shims#2829
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2829 +/- ##
============================================
+ Coverage 56.12% 60.02% +3.90%
- Complexity 976 1469 +493
============================================
Files 119 176 +57
Lines 11743 16174 +4431
Branches 2251 2682 +431
============================================
+ Hits 6591 9709 +3118
- Misses 4012 5113 +1101
- Partials 1140 1352 +212 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
31cf1ca to
88f8b68
Compare
6d6dfb4 to
2956aac
Compare
|
@andygrove @coderfender Please help review. Do we need to pass all tests now? |
4207552 to
e65600c
Compare
|
Test failure: |
Yes, we either need tests to pass, or we can potentially disable some specific tests by updating the diff file, and file issues to resolve those failures. |
|
@andygrove Sure, since Spark 4.1.1 is to be released soon, I will check again after upgrading to 4.1.1 |
524d90a to
d3eed18
Compare
a2e6949 to
1fa26b6
Compare
a858730 to
2a965db
Compare
9d35eb1 to
5cb5159
Compare
|
@manuzhang Spark 4.1.1 has already been released. Do you want to continue working on this integration? |
|
@guixiaowen I've already upgraded to Spark 4.1.1, but I'm blocked by OOM failure in some tests. Anyway, I will rebase and try again. |
Co-authored-by: Andy Grove <agrove@apache.org>
f619a85 to
70565ba
Compare
|
Thanks for working on this @manuzhang. I have a new PR up to enable Spark 4.1 that can replace this one. Perhaps you could help review? |
Which issue does this PR close?
First step of #2792.
Rationale for this change
What changes are included in this PR?
spark-4.1profile with minor shim versionspark-4.1src/main/spark-4.0tosrc/main/spark-4.xfor common shim classes in spark-4.0 and spark-4.1.CometSumShimandShimSQLConffor spark-4.0 and spark-4.1 specific shims respectivelyMapStatusBuilder.scalato accessorg.apache.spark.scheduler.MapStatusin java.MapStatushas added a constructor argument in Spark 4.1, and only kept compatibility for scala codes.Summary of Changes in 4.1.1.diff (generated by Copilot)
This patch updates the Comet project to support Spark 4.1. The changes largely involve build configuration updates, integration into Spark's session initialization, and extensive test exclusions for features not yet supported or behaving differently in Comet.
Build Configuration
spark.version.shortto4.1.comet-spark-spark4.1.comet-spark-spark4.1dependency to the SQL core module.Core Spark Integration
isCometEnabledcheck (defaults to true ifENABLE_COMETenv var is not set or true).loadCometExtensionto automatically injectorg.apache.comet.CometSparkSessionExtensionswhen enabling Comet.CometScanExecto properly extract metadata for Spark UI/history.Test Infrastructure
IgnoreComet,IgnoreCometNativeIcebergCompat,IgnoreCometNativeDataFusion,IgnoreCometNativeScan.IgnoreCometSuitetrait to disable entire test suites when Comet is enabled.Test Exclusions
A large number of existing Spark SQL tests have been modified to skip when Comet is enabled. Common reasons cited in the diffs include:
Modified Test Files
The following logical areas of tests had significant exclusions:
How are these changes tested?
Added UTs.