You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 457ccaa
Browse filesBrowse the repository at this point in the historyBrowse files
## Which issue does this PR close?
Closes#24868.
## Rationale for this change
Microbenchmarks can compile successfully but panic when executed.
Running their cases in CI catches stale benchmark fixtures and
invocation assumptions without collecting performance measurements.
## What changes are included in this PR?
- Add `cargo xtask ci step test microbenchmarks` and a required extended
CI job. Following the existing workflow convention, it runs in the merge
queue, on release-branch pushes, and manually; it skips PR events.
- Execute Criterion bench targets in test mode with `--no-fail-fast`,
including the physical-plan benchmarks gated by `test_utils`. The
`ci-bench` profile retains workspace debug assertions and overflow
checks with light optimization to keep larger cases practical.
- Use the checked-in ten-row ClickBench fixture for SQL planner smoke
tests through `CLICKBENCH_DATA_PATH`. Ordinary performance runs retain
their full-dataset default. The separate SQL benchmark harness, which
requires generated datasets, remains covered by its existing jobs.
- Fix benchmark failures exposed by execution: timestamp timezone
metadata, Spark slice input coercion, string return types, and repeat
row counts/error assertions. Slice coercion happens before timing the
UDF.
- Clarify the Spark ListView benchmark labels and check the repeat
overflow diagnostic outside the timed loop. Patch two certificate
dependencies to resolve the security audit failure.
## What is the testing strategy for this PR?
- The full `cargo xtask ci step test microbenchmarks` run passed all 131
benchmark targets on upstream `99193cbd0`. After rebasing onto
`6c1727fcd`, the Spark slice and repeat benchmark smoke tests passed
again, including the new labels and overflow diagnostic assertion.
- `cargo fmt --all` and `cargo clippy --all-targets --all-features -- -D
warnings` pass with the pinned Rust 1.99 toolchain on the final rebase.
- `./ci/scripts/security_audit.sh` passes after patching `rustls-webpki`
to 0.103.16 and `webpki-root-certs` to 1.0.10.
- Extended workspace tests were run with the documented features. The
run stopped at the existing `sort_with_mem_limit_1_runner` RSS
assertion: the core integration target had 1,463 passing tests, one
failure, and one ignored test. Its RSS monitor reported a zero-byte
baseline and a 192.2 MB peak against a 190.7 MB limit. The unchanged
test passed in isolation on a clean upstream build, but the full run
still fails locally. No tests were skipped and no memory-test code or
limits were changed.
## Are there any user-facing changes?
No query behavior or public API changes. Benchmark contributors gain a
local smoke-test command and automated execution coverage.
constTEST_USAGE:&str = "usage: cargo xtask ci step test <workspace|cli|doctest|ffi|benchmark-plan|benchmark-sqllogic|postgres|substrait|substrait-optimized|extended|hash-collisions|sqlite> [--explain]";
651
+
constTEST_USAGE:&str = "usage: cargo xtask ci step test <workspace|cli|doctest|ffi|microbenchmarks|benchmark-plan|benchmark-sqllogic|postgres|substrait|substrait-optimized|extended|hash-collisions|sqlite> [--explain]";
0 commit comments