Skip to content

chore: [branch-54] upgrade DataFusion to 54.1.0 and bump Ballista version to 54.1.0 - #2127

Merged
andygrove merged 1 commit into
apache:branch-54from
andygrove:bump-datafusion-54.1.0-branch-54
Jul 22, 2026
Merged

chore: [branch-54] upgrade DataFusion to 54.1.0 and bump Ballista version to 54.1.0#2127
andygrove merged 1 commit into
apache:branch-54from
andygrove:bump-datafusion-54.1.0-branch-54

Conversation

@andygrove

Copy link
Copy Markdown
Member

Which issue does this PR close?

N/A

Rationale for this change

DataFusion 54.1.0 was released, so the branch-54 release branch should pick it up. This also bumps the Ballista crate versions to 54.1.0 in preparation for a 54.1.0 release.

This is the branch-54 counterpart of #2126.

What changes are included in this PR?

  • Move Cargo.lock and python/Cargo.lock to the DataFusion 54.1.0 patch release.
  • Re-sync the vendored DataFusion proto files with dev/update_datafusion_proto.py, which adds the new null_aware field to JoinNode in ballista/core/proto/datafusion.proto.
  • Bump the Ballista crate versions from 54.0.0 to 54.1.0 via dev/update_ballista_versions.py.
  • Add a comment in Cargo.toml explaining why the datafusion* requirements stay at 54.

The workspace requirements deliberately stay at 54 rather than pinning 54.1.0. The python workspace has its own lockfile but depends on the ballista crates by path, so an exact requirement here drags it onto 54.1.0 too, and datafusion-python 54.0.0 does not compile against 54.1.0:

error[E0063]: missing field `schema` in initializer of `datafusion::logical_expr::RecursiveQuery`
  --> datafusion-python-54.0.0/src/expr/recursive_query.rs:72:20

DataFusion 54.1.0 added a schema field to the public RecursiveQuery struct, and there is no 54.1.0 release of datafusion-python yet. Keeping the requirement at 54 lets the main workspace build against 54.1.0 while python/Cargo.lock stays on 54.0.0 until datafusion-python catches up.

The lockfile also drops a duplicate windows-sys 0.53/0.60 tree that the DataFusion 54.1.0 dependency graph no longer pulls in.

Are there any user-facing changes?

No API changes. The Ballista crates are versioned 54.1.0 and the scheduler, executor, CLI and benchmarks build against DataFusion 54.1.0. The Python wheel continues to build against DataFusion 54.0.0.

Move the lockfiles to the DataFusion 54.1.0 patch release, re-sync the vendored
DataFusion proto files, which picks up the new `null_aware` field on
`JoinNode`, and bump the Ballista crate versions to 54.1.0.

The workspace requirements stay at `54` rather than pinning `54.1.0`. The
python workspace has its own lockfile but depends on the ballista crates by
path, so an exact requirement here forces it onto 54.1.0 as well, and
datafusion-python 54.0.0 does not compile against 54.1.0 -- that release added
a `schema` field to the public `RecursiveQuery` struct. Leaving the
requirement at `54` lets the main workspace build against 54.1.0 while
python/Cargo.lock stays on 54.0.0 until datafusion-python catches up.
@andygrove andygrove changed the title chore: upgrade DataFusion to 54.1.0 and bump Ballista version to 54.1.0 chore: [branch-54] upgrade DataFusion to 54.1.0 and bump Ballista version to 54.1.0 Jul 21, 2026
@andygrove
andygrove marked this pull request as ready for review July 22, 2026 01:56
@andygrove
andygrove merged commit 46402a4 into apache:branch-54 Jul 22, 2026
30 checks passed
@andygrove
andygrove deleted the bump-datafusion-54.1.0-branch-54 branch July 22, 2026 01:57
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