andygrove opened a new pull request, #2201:
URL: https://github.com/apache/datafusion-ballista/pull/2201

   # Which issue does this PR close?
   
   N/A — test-infrastructure follow-up to the correctness bugs fixed in #2185, 
#2186, #2188, and #2194.
   
   # Rationale for this change
   
   The recent correctness bugs shared a pattern: a distributed plan rewrite 
that was structurally plausible but semantically wrong, triggered by runtime 
conditions our CI never produces. The `--verify` oracle (cluster result vs 
single-process DataFusion) runs only at `--partitions 16` on full TPC-H SF10 / 
TPC-DS SF1 data, which never yields an empty intermediate stage and never 
exercises low partition counts.
   
   This PR makes CI exercise exactly those conditions.
   
   # What changes are included in this PR?
   
   - A new `--empty-tables <t1,t2,...>` flag on both benchmark drivers. It 
registers the named tables as zero-row Parquet mirrors (schema inferred from 
the real data) in **both** the Ballista session and the `--verify` oracle, so 
verification remains a valid comparison while every query touching an emptied 
table produces empty intermediate stages through the distributed planner. On 
the TPC-H driver it requires `--format parquet` and is incompatible with 
`--expected`.
   - TPC-H workflow: matrix extended from 3 to 6 legs — the existing SF10 legs 
at 16 partitions, plus SF1 AQE-on legs at 1 and 2 partitions, plus an SF1 
AQE-on empty-tables leg (the emptied set rotates by day of week across 
`lineitem` / `orders` / `supplier,nation`). Job/step timeouts added so a hang 
fails fast, and cluster logs now upload on timeout as well as failure.
   - TPC-DS workflow: matrix extended from 2 to 4 legs, adding 
`target_partitions=1` and `target_partitions=2` legs alongside the existing 
16-partition task-packing legs.
   - `benchmarks/README.md` documentation for the new flag.
   
   Notes for maintainers:
   
   - The empty-tables leg exists to surface latent empty-stage planner bugs. If 
it exposes one, please `--skip` the affected query with an issue link rather 
than reverting the leg.
   - The rotation is keyed on day-of-week, so re-running a red empty-tables leg 
after UTC midnight tests a different table set and may go green without a fix. 
The leg logs `Empty tables for this run: ...` — reproduce locally with that 
printed set via `--empty-tables`.
   
   # Are there any user-facing changes?
   
   No. The new CLI flag is on the benchmark binaries only; no library or 
cluster behavior changes.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to