Skip to content

deps: Upgrade to DataFusion 54.0.0#4062

Open
andygrove wants to merge 45 commits into
mainfrom
datafusion-54
Open

deps: Upgrade to DataFusion 54.0.0#4062
andygrove wants to merge 45 commits into
mainfrom
datafusion-54

Conversation

@andygrove

@andygrove andygrove commented Apr 24, 2026

Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #3978.

Rationale for this change

DataFusion 54.0.0 is released to crates.io, so this upgrades Comet main from DataFusion 53.1.0 to 54.0.0. It bumps the deps and applies the DF 54 API and behavior adaptations that we developed and validated on the long-running datafusion-54 branch.

What changes are included in this PR?

  • Bump DataFusion deps from 53.1.0 to 54.0.0 in native/Cargo.toml and native/core/Cargo.toml (datafusion, datafusion-datasource, datafusion-physical-expr-adapter, datafusion-spark, datafusion-functions-nested); Cargo.lock regenerated.
  • DF 54 API adaptations (per the 54.0.0 upgrade guide):
    • Remove as_any() overrides and strip .as_any() from call sites, since the method was dropped from PhysicalExpr, ScalarUDFImpl, ExecutionPlan, etc. (now reachable via the Any supertrait).
    • schema_adapter.rs: CastColumnExpr was removed in favor of CastExpr, which no longer exposes input_field(). Derive the input field from the child Column plus the physical file schema, falling back to a synthesized field from the target name and child data type.
    • MemoryPool impls (fair_pool, logging_pool, unified_pool): add Display and name() to satisfy the new supertrait requirements.
  • DF 54 behavior adaptations:
    • pow: mark Pow unsupported and fall back to Spark, due to a DataFusion power correctness regression (datafusion#22598).
    • WeekDay: DataFusion isodow is 1..=7 (Monday=1) while Spark WeekDay is 0..=6 (Monday=0), so subtract 1 from datepart(isodow, ...) (datafusion#22599).
  • Enable Sort Merge Join with filter by default (spark.comet.exec.sortMergeJoinWithJoinFilter.enabled) and mark the config deprecated.
  • Add a SPARK-43113 reproducer in CometJoinSuite (full outer SMJ with NULL in join filter).

How are these changes tested?

Existing tests, plus the new SPARK-43113 reproducer.

@comphead comphead mentioned this pull request Apr 27, 2026
6 tasks
@comphead comphead marked this pull request as ready for review May 29, 2026 17:01
@mbutrovich mbutrovich marked this pull request as draft May 29, 2026 17:13
@mbutrovich mbutrovich marked this pull request as ready for review June 8, 2026 17:10
@mbutrovich mbutrovich changed the title feat: Upgrade to DataFusion 54 [do not merge] deps: Upgrade to DataFusion 54.0.0 Jun 8, 2026
@mbutrovich mbutrovich self-assigned this Jun 8, 2026
@mbutrovich mbutrovich added this to the 0.17.0 milestone Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: DataFusion 54.0.0

3 participants