Repository navigation
feat!: upgrade DataFusion fork to 55.1.0 - #9177
Merged
Merged
Conversation
Rebase the GreptimeDB DataFusion fork from official 55.0.0 to 55.1.0. DataFusion 55.1.0 is a patch release on branch-55 containing eleven cherry-picked fixes (schema-adaptation struct filters, cast/projection metadata propagation, nested-nullability aggregation adaptation, UnnestExec batch_size, RightMark join ordering panic, empty-struct ScalarValue, and FFI codec fixes). All twenty GreptimeDB fork patches rebase onto it with no textual or semantic overlap; none of them is absorbed upstream, so all are retained. Fork pin moves to discord9/datafusion branch greptimedb-55.1.0, commit 2aa87d52cdce7006af492330064738f33ed294c1 (55.1.0 + 20 patches). Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com>
discord9
marked this pull request as ready for review
September 17, 2026 07:11
Contributor
|
Warning @discord9 has 12 open non-draft pull requests in this repository, over the limit of 5. Review is the scarcest resource here. Please land or close some of these before
This check is advisory for now and blocks nothing. |
sunng87
approved these changes
Sep 20, 2026
sunng87
left a comment
Member
There was a problem hiding this comment.
Is this still a breaking change?
Resolve Cargo.toml conflict: keep the DataFusion fork pin at 55.1 (2aa87d52cdce) while adopting main's switch of datafusion-pg-catalog and arrow-pg to the upstream datafusion-contrib/datafusion-postgres pin ffb14a52b3d7 from the pgwire 0.41 update (GreptimeTeam#9025). Regenerate Cargo.lock for the combined pins. Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com>
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.
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
Follow-up to #8555 (DataFusion 55 upgrade). Built on the statistics migration in #9175.
What's changed and what's your intention?
Moves the GreptimeDB DataFusion fork pin from official
55.0.0to55.1.0.DataFusion
55.1.0is a patch release cut frombranch-55containing eleven cherry-picked fixes, none of which absorbs any GreptimeDB fork patch. The upgrade exists to pick up upstream fixes we would otherwise have to backport by hand — most notably the cast/projection metadata propagation repairs (#23169, #24670), which are in the same area as the field-metadata issues we patched locally during #8555.55.1.0 contents (11 commits over 55.0.0): schema-adaptation struct field filters (#24125), nested-nullability aggregation batch adaptation (#24394), cast metadata alignment (#23169), projection metadata preservation (#24670), UnnestExec
batch_size(#24384), RightMark join ordering panic (#24718), empty-structScalarValue(#24582), two FFI codec fixes, minor dependency updates, version bump.Fork status: all twenty GreptimeDB fork patches are retained. Verified via GitHub compare/branch inspection that none of their corresponding upstream PRs is contained in 55.1.0:
Rebase verification: the twenty patches were rebased onto
55.1.0(7d3835c71f30cbd3c3ae4041732267f1f453097a) with zero textual conflicts. The two fork patches touching related areas were checked for semantic overlap against the 55.1.0 metadata fixes and touch disjoint files (logical optimizeroptimize_projectionsvs physical-planprojection.rs;expr-common/casts.rssimplifier vsphysical-expr/expressions/cast.rs).New fork pin:
discord9/datafusionbranchgreptimedb-55.1.0, commit2aa87d52cdce7006af492330064738f33ed294c1(= official55.1.0+ 20 patches). All 14datafusion*workspace version constraints move=55.0.0→=55.1.0; all 15[patch.crates-io]revs and 35 lockfile source blocks move to the new pin.All CI checks pass (41/41), including the five sqlness suites, all fuzz targets (Remote-WAL migration and logical pruning included), Export/Import V2 E2E, Clippy, unused-dependency check, and the Windows/riscv64 builds. Coverage and the recent-releases compatibility job skip on this PR as usual.
Verification:
cargo check -p datafusion-physical-expr -p datafusion-optimizer -p datafusion-physical-plan -p datafusion-expr-commonon the rebased forkcargo check -p table -p query(GreptimeDB)cargo clippy -p table -p query --tests -- -D warningscargo nextest run -p table(89/89, including the fix: preserve count correctness after repartition #9154test_count_statistics_require_exact_source_rowsgate)PR Checklist
Please convert it to a draft if some of the following conditions are not met.