Skip to content

test(e2e): calibrate the long-query fixture to the host instead of a fixed size - #226

Merged
jsam merged 1 commit into
mainfrom
fm/il-fix-e2e-longquery
Oct 4, 2026
Merged

jsam merged 1 commit into
mainfrom
fm/il-fix-e2e-longquery

Conversation

@jsam

@jsam jsam commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Problem

The full-suite release checkpoint (run 37178372590, job Tests (full)) fails one test: reactive::agent_receives_deltas_while_its_own_long_query_runs panics with fixture too fast to show blocking: 469.349585ms.

Why the query ran only ~469 ms

The runner is faster than the fixed fixture assumed. No engine change caused it.

Fix

The test now calibrates the fixture to the host instead of using a fixed size:

  • Node numbering. Left nodes are now even and right nodes odd, so a larger graph only adds edges.
  • Calibration. calibrate_long_query runs TRIANGLES on a probe connection. Until it takes at least 2 × LONG_QUERY, it grows the side by the cube root of the shortfall, commits the extra edges and probes again. A deadline-exceeded probe counts as long enough. The side is capped at 64, and if the cap is hit the test fails loudly.
  • Sample naming. The calibrated side goes into the latency sample's fixture name (bipartite_triangles_<side>).

Not changed: DELTA_BUDGET (250 ms), the delta latency assertion, ran >= LONG_QUERY, the delta-before-result ordering check and the empty-result check. The cancel test reuses the same base fixture (side 14) without calibration, since it only needs the query to outlive 100 ms.

Validation

  • make e2e-reactive ×5 locally: 14/14 passed each run. Calibration settled on side 16 every time, and writer-to-delta latency was 1.6–2.3 ms.
  • Faster-host simulation. I temporarily started at side 6 so calibration had to take several steps. It grew to side 21 and passed (change reverted).
  • cargo clippy --release --test e2e_reactive -D warnings and cargo fmt --check are clean.

…fixed size

agent_receives_deltas_while_its_own_long_query_runs failed on the 4-vCPU CI
runner with 'fixture too fast to show blocking' (472 ms at #214, 469 ms at
55ec34d): the fixed side-14 bipartite graph is too small for that host. The
engine is unchanged in speed and the query result is correct (empty).

The test now probes TRIANGLES and grows the graph until it runs for twice
LONG_QUERY on the host at hand. DELTA_BUDGET and every assertion are unchanged.
@jsam
jsam merged commit 4cd1aff into main Oct 4, 2026
16 checks passed
@jsam
jsam deleted the fm/il-fix-e2e-longquery branch October 4, 2026 06:48
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.

1 participant