Skip to content

ci: run the TPC-DS and TPC-H suites under both the static and adaptive planners - #2649

Draft
andygrove wants to merge 3 commits into
apache:mainfrom
andygrove:docs/tpcds-ci-adaptive-planner
Draft

andygrove wants to merge 3 commits into
apache:mainfrom
andygrove:docs/tpcds-ci-adaptive-planner

Conversation

@andygrove

@andygrove andygrove commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Which issue does this PR close?

N/A. Follow-up to #2315.

Rationale for this change

#2315 made adaptive query planning the default. Neither benchmark workflow was updated to match, so the static planner has had no CI coverage since then:

  • The TPC-DS workflow never set the planner flag. It has been verifying all 99 queries under the adaptive planner, while its job names and comments still say "static planner" and say adaptive coverage is still to come.
  • The TPC-H "AQE off" leg passes no planner flag, so it has been running the adaptive planner and repeating the "AQE on" leg.

The benchmarks README is also stale. It points at #2047, which is closed, and describes a skip list grouped by cause, but the list is now empty.

What changes are included in this PR?

  • .github/workflows/tpcds.yml: run four legs, the static planner and the adaptive planner, each at 1 and 4 partitions per task. Every leg sets ballista.planner.adaptive.enabled explicitly so the job labels stay correct if the default changes.
  • .github/workflows/tpch.yml: give the "AQE off" leg -c ballista.planner.adaptive.enabled=false so it runs the static planner again.
  • benchmarks/README.md: update the TPC-DS "Skip list" and "CI" sections to match.

Are there any user-facing changes?

No. CI and docs only.

Adaptive query planning became the default in apache#2315, so the TPC-DS
workflow has been running AQE while its job names and comments still
said static planner. Set the planner flag explicitly and update the
benchmarks README, which also still described a non-empty skip list
and the fixed apache#2047.
The leg passed no planner flag, so once adaptive planning became the
default it duplicated the "AQE on" leg and the static planner lost
TPC-H coverage.
@andygrove andygrove changed the title ci: label the TPC-DS jobs as adaptive planner and update the docs ci: pin the planner explicitly in the TPC-DS and TPC-H workflows Oct 26, 2026
Add static planner legs alongside the adaptive ones, each at one and
four partitions per task, so both planners are gated on all 99 queries.
@andygrove andygrove changed the title ci: pin the planner explicitly in the TPC-DS and TPC-H workflows ci: run the TPC-DS and TPC-H suites under both the static and adaptive planners Oct 26, 2026

@milenkovicm milenkovicm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

thanks @andygrove

@andygrove

Copy link
Copy Markdown
Member Author

This might use up too much CI resource. I wonder if we should introduce a merge queue and only run the heavy jobs there? DataFusion core and Comet both do this. WDYT @milenkovicm ?

@andygrove
andygrove marked this pull request as draft October 26, 2026 13:49
@milenkovicm

Copy link
Copy Markdown
Contributor

i have no objections on merge queue, please do

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants