Skip to content

Upgrade to DataFusion 54#55

Merged
geoffreyclaude merged 1 commit into
mainfrom
branch-54
Jun 8, 2026
Merged

Upgrade to DataFusion 54#55
geoffreyclaude merged 1 commit into
mainfrom
branch-54

Conversation

@geoffreyclaude

@geoffreyclaude geoffreyclaude commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR upgrades datafusion-tracing to DataFusion 54.0.0.

Changes included here:

  • Bump the workspace and crate versions to 54.0.0.
  • Use the released datafusion = "54.0.0" crate from crates.io.
  • Update the execution-plan instrumentation code for DataFusion 54 API changes.
  • Use DataFusion's ExecutionPlan::downcast_delegate hook so InstrumentedExec remains transparent for public plan downcasts while datafusion-tracing can still detect existing wrappers internally.
  • Regenerate the tracing span fields and integration-test snapshots for DataFusion 54.

Status

DataFusion 54.0.0 has been released, so this PR no longer depends on an Apache DataFusion branch-54 git revision.

The transparent-wrapper blocker from apache/datafusion#22557 is resolved by apache/datafusion#22565, which is included in the released crate.

Validation

  • cargo fmt --all --check
  • git diff --check codex/stabilize-async-span-tests...HEAD
  • cargo test --workspace --quiet

/// This relies on the internal optimization context being active in the current thread.
pub(crate) fn is_instrumented(plan: &dyn ExecutionPlan) -> bool {
plan.as_any().is::<InstrumentedExec>()
plan.is::<InstrumentedExec>()

@geoffreyclaude geoffreyclaude May 27, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated after apache/datafusion#22565 merged into DataFusion branch-54. This PR now uses ExecutionPlan::downcast_delegate so InstrumentedExec remains transparent for public plan downcasts, and is_instrumented uses a direct Any check for the internal double-wrapping guard in this crate.

@geoffreyclaude geoffreyclaude marked this pull request as ready for review June 8, 2026 13:36
@geoffreyclaude geoffreyclaude force-pushed the branch-54 branch 3 times, most recently from af4007f to f84a60f Compare June 8, 2026 13:55
@geoffreyclaude geoffreyclaude force-pushed the branch-54 branch 3 times, most recently from 9e63f4b to 610c902 Compare June 8, 2026 14:26
@geoffreyclaude geoffreyclaude changed the base branch from main to codex/stabilize-async-span-tests June 8, 2026 14:45
@geoffreyclaude geoffreyclaude changed the base branch from codex/stabilize-async-span-tests to main June 8, 2026 15:30
@geoffreyclaude geoffreyclaude merged commit 1efcc8f into main Jun 8, 2026
4 checks passed
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.

2 participants