Conversation
|
@andygrove @coderfender @comphead I'd appreciate your review here. |
|
Sure! Thank you for the pr @manuzhang |
There was a problem hiding this comment.
Thanks @manuzhang
this is def on the table, however lets keep this PR opened for now.
There are some pending use cases still using 3.4.3, I would propose doing this in parts.
Currently it would make sense to:
- remove 3.4 from CI
- Add a warn message saying 3.4 support would be dropped in 1.1.0
- update roadmap
|
@comphead It's already announced in 1.0.0 release blog.
Where else do we need to add a warn message and update? |
I was thinking to add a warn runtime message that Spark 3.4 support is sunsetting. Not sure if it makes sense though. But still I would propose doing a soft drop:
Keep the code for couple of more weeks and drop it closer to the dedicated release date |
|
What does the community think about retaining the code for 3.4 (but maybe relaxed ci and backporting of fixes)? We have a ton of users (and even more production jobs) still on 3.4. |
|
|
||
| /** | ||
| * Shim for the `ignoreNulls` flag on `CollectList` / `CollectSet`. Spark 3.4 through 4.1 have no | ||
| * Shim for the `ignoreNulls` flag on `CollectList` / `CollectSet`. Spark 3.5 through 4.1 have no |
There was a problem hiding this comment.
Does it make sense to move spark-3.x to spark-3.5?
There was a problem hiding this comment.
I don't think it's necessary. Just moving files around doesn't add much value.
There was a problem hiding this comment.
I would say this is a great opportunity to clean up majorVerSrc in pom, not only moving files
|
I'd like to have extended Spark 3.4 support for 2 quarters b/c lots of users are still with Spark 3.4. |
3.4 is still on branch-1.0 and bug fixes can be released on 1.0.x.
This doesn't make sense on the main branch since codes committed will never be shipped. |
Thanks @manuzhang It's more than that, we focusing on stopping Spark 3.4 support soon, however grace period may take some time. Comet evolving fast and there are still bunch of scenarios still using 3.4. I'm afraid back porting major features to 3.4 would take much more efforts than just supporting it for now. Do you see any risks in having 3.4 during following weeks? We can keep this PR opened and get back to it as soon as we can, WDYT? |
Which major features do we need to land on 3.4? Any open issues and pull requests?
No problem, but if we decide to add more features to 3.4, then we shouldn't drop the support now (for 1.1.0). We can't have both. |
andygrove
left a comment
There was a problem hiding this comment.
I went through the mechanical side of this closely: the spark-3.4 Maven profile and shim directories, dev/diffs/3.4.3.diff, the CI matrices in ci.yml, pr_build_linux.yml, and pr_build_macos.yml, dev/ci/compute-changes.py, and the user-facing docs including installation.md, spark-versions.md, and versioning_policy.md. It all holds together. isSpark35Plus is deleted rather than left behind as an always-true guard, CometSpark34AqeDppFallbackRule is gone along with every call site and tag field that referenced it, and the now-unreachable classOf[Base64] -> CometBase64 mapping in QueryPlanSerde is cleaned up since no supported Spark version constructs a plain Base64 node anymore. Only 3.4.3.diff was touched under dev/diffs/, none of the surviving diffs were hand-edited. I didn't find anything removed here that Spark 3.5, 4.0, 4.1, or 4.2 still depends on.
On the thread with @comphead: the three items cited as reasons to hold off, #4837, #4547, and #5314, are all closed or merged now. Does that change things, or is the concern more about the general rate of feature work still landing on main before 3.4 support closes out? That review is still sitting as changes requested, and I'd want to see it explicitly cleared before this merges rather than left open.
The branch is also showing as conflicting with main right now, so it will need a rebase before it can land regardless of how the above gets resolved.
|
@andygrove I don't think we can drop Spark 3.4 support now, since those efforts will be otherwise wasted. |
Co-authored-by: Codex <codex@openai.com>
5b0098a to
da49929
Compare
Sorry, that was an autoamted review. I agree that we can't drop the support yet. We should update the docs to remove the claim that support will be dropped in 1.1.0 and instead say that it will be dropped in a future release |
|
Thanks for the rebase; the branch is on current
If that is where you have landed, I would rather this sat as a draft, or closed with an issue tracking the removal, than stayed open as a rebase-and-conflict treadmill. It touches the Maven profiles, the shim directories, On the substance, since it is worth recording either way: the mechanical work is sound. I went through it in detail and found nothing removed that 3.5, 4.0, 4.1 or 4.2 still needs. The three items @comphead cited as reasons to hold are all resolved now (#4837 closed, #4547 closed, #5314 merged), and their My own view on the timing, for the record: I do not think the argument that in-flight 3.4 work would be wasted is a reason to keep 3.4 indefinitely, but it is a reason not to drop it in the middle of that work. So a tracked deferral with a target version seems right, rather than either merging now or closing without a plan. |
Which issue does this PR close?
Closes #4329.
Rationale for this change
Spark 3.4 was deprecated in Comet 1.0.0 and is scheduled for removal in 1.1.0. Dropping it reduces the supported build/test matrix and removes compatibility paths that are no longer needed now that Spark 3.5 is the oldest supported release.
What changes are included in this PR?
How are these changes tested?
make format PROFILES=-Pspark-3.5./mvnw clean test-compile -DskipTests -Pspark-4.0./mvnw clean test-compile -DskipTests -Pspark-4.1./mvnw clean test-compile -DskipTests -Pspark-4.2CometTPCDSV1_4_PlanStabilitySuiteon Spark 3.5 (97 tests)CometTPCDSV2_7_PlanStabilitySuiteon Spark 3.5 (32 tests)git diff --checkvalidation