chore: bump Spark 4.1 to 4.1.3 - #5183
Merged
Merged
Conversation
Rename dev/diffs/4.1.2.diff to 4.1.3.diff and regenerate it against the v4.1.3 tag, and point the build, CI workflows, Docker image, and docs at 4.1.3.
mbutrovich
approved these changes
Jul 31, 2026
mbutrovich
left a comment
Contributor
There was a problem hiding this comment.
Approved pending CI, thanks @andygrove!
Resolved conflicts in .github/workflows/spark_sql_writer_tests.yml and docs/source/contributor-guide/iceberg-spark-tests.md by keeping main's Spark 3.5.9 bump alongside this branch's Spark 4.1.3 bump.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
N/A — routine patch-version bump within the already-supported Spark 4.1 line.
Rationale for this change
Spark 4.1 support should track the latest Spark 4.1 patch release. Apache Spark
4.1.3 has been released (tag
v4.1.3), so this moves Comet's Spark 4.1 build,CI, Docker image, and documentation from 4.1.2 to 4.1.3. Spark 4.1 is also
Comet's default profile, so this bumps the top-level
<spark.version>too.What changes are included in this PR?
<spark.version>and thespark-4.1profile's<spark.version>to 4.1.3. Spark 4.1.3 makes no transitive dependency changesrelative to 4.1.2 (
scala.version2.13.17,parquet.version1.16.0,slf4j.version2.0.17,jetty.version11.0.26,hadoop.version3.4.2,arrow.version18.3.0 are all unchanged), so no other profile properties moveand
spark/pom.xml's pinned Jetty 11.0.26 test deps still match — only thecomment naming the reference version is updated.
dev/diffs/4.1.2.difftodev/diffs/4.1.3.diffand regenerates itagainst the
v4.1.3tag. Two hunks needed manual reapplication, both pureimport-line context drift with no behavioural change:
DataFrameWindowFunctionsSuite.scala— upstream added acatalyst.trees.UnaryLikeimport between the patched neighbours.StreamRealTimeModeAllowlistSuite.scala— upstream movedLowLatencyMemoryStreamfromexecution.streamingtoexecution.streaming.sources.at 4.1.3, and updates
dev/ci/compute-changes.py'sspark_4_1path filter tothe new diff filename.
kube/Dockerfiletoapache/spark:4.1.3and updates the Kubernetes,macOS benchmarking, installation, compatibility, and Iceberg docs.
How are these changes tested?
git apply --check dev/diffs/4.1.3.diffagainst a pristinev4.1.3checkoutpasses with no rejects or fuzz.
diff, and that its only content differences from 4.1.2 are the two context
lines above.
npx prettier --checkon the modified markdown.clone
v4.1.3, apply the new diff, and run the test suites.One thing to confirm on review
Maven Central, PyPI, and Docker Hub are all unreachable from the environment I
prepared this in, so I could not independently confirm that the
org.apache.spark:*:4.1.3artifacts,pyspark==4.1.3, and theapache/spark:4.1.3image are all published yet — thev4.1.3tag (identical tov4.1.3-rc1, i.e. the vote passed on rc1) is the only evidence I could gather.CI will fail fast on the Maven and PyPI pins if either is not yet available. The
apache/sparkDocker image sometimes lags the release, andkube/Dockerfileisnot exercised by CI, so that tag is worth an explicit check before merge.