What is the problem the feature request solves?
#5262 bumps DataFusion to 55.0 and Arrow/Parquet to 59.2. It is a large branch that has accumulated review findings which are not blockers for the bump itself, but which should not be lost when it merges. Several had no issue at all, and the ones that did were not linked to each other.
This epic collects everything raised in review of #5262 that is deliberately not being fixed on the branch, so the branch can merge on the strength of the bump alone.
What is already done on the branch, and so is not listed below:
Describe the potential solution
Each item is a linked issue; check it here when it closes.
Correctness
Metrics and memory accounting
Error handling
Performance
Test hygiene
Moved initial followups from #4865
Additional context
Review threads on #5262 from @sunchao, @andygrove, @comphead and @ajsquared. The threads opened by ziting-openai were withdrawn as the output of a misconfigured agent; where a finding in them was independently confirmed it is captured above, and the rest are not carried forward.
What is the problem the feature request solves?
#5262 bumps DataFusion to 55.0 and Arrow/Parquet to 59.2. It is a large branch that has accumulated review findings which are not blockers for the bump itself, but which should not be lost when it merges. Several had no issue at all, and the ones that did were not linked to each other.
This epic collects everything raised in review of #5262 that is deliberately not being fixed on the branch, so the branch can merge on the strength of the bump alone.
What is already done on the branch, and so is not listed below:
GroupsAccumulator,IpcWriteContext,FixedSizeBinaryArray::try_from,ExecutionPlan::apply_expressions, the iceberg-rust builder/getter APIs).spark_sqrt, needed because DataFusion 55 addedvalidate_sqrt_input, sosqrt(-1)now errors where DataFusion 54 returned NaN.is_pure_structural_narrowing.Describe the potential solution
Each item is a linked issue; check it here when it closes.
Correctness
array_distinctandarray_uniondiverge from Spark on-0.0for Spark versions without SPARK-54918. Needs a runtime, patch-level version check: the fix versions are 4.2.0, 4.1.4 and 4.0.5, so a compile-time shim keyed on the minor version is not enough, and the existing string comparison ofSPARK_VERSIONbreaks at 4.0.10.Metrics and memory accounting
CometAggregateSuitemetric tests after the DataFusion 55peak_mem_usedchange ([EPIC] Split Aggregation Logic into Dedicated Streams datafusion#22710).Error handling
SpillWriter::path()conflates "nothing spilled" with "backend has no local path", so a pathless spill backend would silently drop spilled data.copy_arraypanics on offset overflow instead of returning an error, aborting the JVM rather than failing the task.Performance
Test hygiene
Moved initial followups from #4865
PartialMerge#4131unnest_outerinstead of Comet implementaion #5210Additional context
Review threads on #5262 from @sunchao, @andygrove, @comphead and @ajsquared. The threads opened by
ziting-openaiwere withdrawn as the output of a misconfigured agent; where a finding in them was independently confirmed it is captured above, and the rest are not carried forward.