Skip to content

[EPIC] Bug fixes to consider backporting to branch-1.0 #6201

Description

@andygrove

What is the problem the feature request solves?

branch-1.0 was cut at af534e0f on 2026-08-03, and 1.0.1 has not been tagged yet. Bug fixes keep landing on main, but nothing tracks which of them should go to branch-1.0, which are already there, and which open PRs will become candidates once they merge.

#5815 triaged the first 192 commits after the cut, up to 2026-09-09, and it remains the record of why each earlier exclusion was made. This epic carries forward #5815's bug-fix recommendations from tiers 1 and 3. It adds the 166 commits merged since then and every open bug-fix PR on main. Performance backports are out of scope; #5815's tier 2 covers those.

Describe the potential solution

Tick a box once the fix is on branch-1.0, and put the backport PR next to it. When an open PR merges, move it up to the merged list.

Candidates are ordered by severity within each group. "Clean" means the commit cherry-picks onto branch-1.0 (8407d475c) without conflicts; it does not mean it compiles. Where one fix has to follow another, the entry says so.

Merged on main, not yet on branch-1.0

Wrong results

Parquet field matching: backport these together or not at all

#5602 cherry-picks clean on its own, but it must not go alone. On 1.0.0, a struct with byte-identical duplicate field names panics. With #5602 applied, the same read silently returns duplicated rows (#5783), and #5786 is the fix. On top of #5602 alone, #5786 conflicts in 12 hunks of schema_adapter.rs, because it builds on #5681, which in turn builds on #5177 and #5740. The two options are the full stack, in the order below, or a hand port of #5786's duplicate check onto #5602.

Task failures, panics, and errors Spark does not raise

Leaks, hangs and memory

Open on main: candidates once merged

Each of these bugs was confirmed present in branch-1.0's code. The PR state and the cherry-pick result are as of 2026-09-24.

Wrong results

Errors where Spark succeeds, or success where Spark raises

Resource use, hangs and plan quality

Needs a decision

Merged on main

Open on main

Already on branch-1.0

The other backports since the cut are #5192 (#5261), #5315 (#5316), #5737 (#5820) and #5782 (#5833).

Not candidates

#5815 lists everything excluded before 2026-09-09. Since then:

Additional context

How the lists were built:

  • Merged. Every fix: commit in 424c31aa7..67803a7a4, plus any other commit that closes a bug issue. Each one was classified by the labels on the issue it closes, not by its prefix. Applicability was tested with git merge-tree against branch-1.0, and every conflicting path was checked for existence there. A conflict in a file that branch-1.0 lacks means the fix is for code that only exists on main.
  • Open. Every open PR against main whose title starts with fix, or that closes a bug issue: 67 PRs. For each one, the defective code was confirmed on branch-1.0 with git grep, and the PR head was test-merged onto branch-1.0.
  • Not build-verified. Each backport PR needs cargo check --workspace --all-targets and ./mvnw test-compile on branch-1.0 before it goes up. A clean cherry-pick is not a compiling one. fix: release native shuffle reservation after spill failure #5461 is the known case, and the usual causes are a test module's shared use block or a proto struct literal.
  • Rust version. branch-1.0 CI builds with Rust stable. If clippy goes red on code the backport did not touch, include the newest chore: fix clippy warnings commit from main.
  • Dependencies. branch-1.0 is on DataFusion 54.1.0 and Arrow 58.4.0. main is on DataFusion 55.1.0 and Arrow 59.2.0.

Still open in the 1.0.1 milestone, with no fix on main: #4412 (CometHashAggregateExec and AQEPropagateEmptyRelation) and the enhancement #5015.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions