Skip to content

[branch-0.10] Add opt-in eager scan planning for DataFusion scans - #27

Merged
toutane merged 8 commits into
branch-0.10.0from
charlesantoine.leger/eager-scan-planning
Jul 29, 2026
Merged

[branch-0.10] Add opt-in eager scan planning for DataFusion scans#27
toutane merged 8 commits into
branch-0.10.0from
charlesantoine.leger/eager-scan-planning

Conversation

@toutane

@toutane toutane commented Jul 27, 2026

Copy link
Copy Markdown

Context

This PR is the second PR in the branch-0.10 stack in DataDog/iceberg-rust:

This stack is consumed by dd-source in the Iceberg 0.10 migration PR: https://github.com/ddoghq/dd-source/pull/31506

That dd-source PR uses branch charlesantoine.leger/iceberg-rust-0.10-eager-planning and depends on this scan-planning behavior as part of the upgrade to iceberg-rust 0.10 with eager scan planning.

This PR is required because it brings back eager DataFusion file scan planning behavior that had already been merged into DataDog/iceberg-rust on branch-0.9, notably through: #18

Changes

Adds an opt-in DataFusion config flag, iceberg.enable_eager_scan_planning, that lets Iceberg plan file scan tasks during TableProvider::scan() instead of deferring planning to execution.

When enabled, planned file tasks are grouped across DataFusion target partitions before building the IcebergTableScan. The default behavior remains lazy scan planning.

Cherry-picks and sources

Cherry-picked commits:

  • 24e688ba from apache@0785d94: feat(datafusion): add opt-in eager scan planning
  • a3014952 from apache@29acf0f: test(datafusion): cover lazy and eager scan planning
  • 917666e8 from apache@c6f7a1f: fix(datafusion): address eager scan review feedback
  • 9cc3b876 from apache@1b0504d: fix(datafusion): address eager scan review feedback

The same work is being contributed upstream in Apache PR apache#2671: apache#2671

JIRA: https://datadoghq.atlassian.net/browse/QECO-1530

@toutane
toutane force-pushed the charlesantoine.leger/eager-scan-planning branch from 50e4d91 to 511a62a Compare July 27, 2026 15:33
@toutane
toutane force-pushed the charlesantoine.leger/eager-scan-planning branch from 511a62a to 9cc3b87 Compare July 27, 2026 16:01
@toutane
toutane marked this pull request as ready for review July 28, 2026 12:17
Base automatically changed from geoffrey.claude/runtime-file-io to branch-0.10.0 July 29, 2026 13:04
@toutane
toutane merged commit d7d45c1 into branch-0.10.0 Jul 29, 2026
22 of 34 checks passed
@toutane
toutane deleted the charlesantoine.leger/eager-scan-planning branch July 29, 2026 13:12
toutane added a commit that referenced this pull request Jul 29, 2026
* feat(datafusion): add opt-in eager scan planning

(cherry picked from commit f0b4c27)

* test(datafusion): cover lazy and eager scan planning

(cherry picked from commit 8ae6eb6)

* fix(datafusion): address eager scan review feedback

(cherry picked from commit 2380cbf)

* fix(datafusion): address eager scan review feedback

Second review round for apache#2671.

---------

Co-authored-by: Geoffrey Claude <geoffrey.claude@datadoghq.com>
toutane added a commit that referenced this pull request Jul 29, 2026
* feat(datafusion): add opt-in eager scan planning

(cherry picked from commit f0b4c27)

* test(datafusion): cover lazy and eager scan planning

(cherry picked from commit 8ae6eb6)

* fix(datafusion): address eager scan review feedback

(cherry picked from commit 2380cbf)

* fix(datafusion): address eager scan review feedback

Second review round for apache#2671.
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.

3 participants