Commit 88acca6
test(stress): fix throughput-floor gate, throttle scan contamination, harden metrics
Applies review findings from PR #617:
- largeCatchup: the grace-adjusted deadline let a converged run post a
measured rate below ENFORCED_FLOOR_MBPS and still pass, since the gate
checked convergedAt !== null rather than the achieved rate itself. Gate on
catchupMBps >= ENFORCED_FLOOR_MBPS directly, which also covers an outright
timeout without a separate check.
- largeCatchup: the exact_count convergence poll forces a full value scan of
B's table every 5s, and that scan grows with B's row count and competes
with the replication replay it's trying to measure. Widen the poll interval
(HARPER_STRESS_LARGE_CATCHUP_POLL_SECS, default 15s) to reduce how often the
benchmark scans itself.
- stressShared: writeStressMetrics's fixed path can be read as fresh data
after a crash that happens before it's called, on a self-hosted runner that
reuses its workspace across runs. Add clearStressMetrics(), called at suite
start, so an early failure uploads nothing rather than a stale prior run.
- stressShared: sampleHostCounters().window() pushed its on-demand reading
into the same samples array the timer fills on a fixed cadence; two entries
landing milliseconds apart produce a manufactured peak rate when
summariseHostSamples() walks them pairwise. Stop pushing from window().
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>1 parent 12ec14a commit 88acca6
2 files changed
Lines changed: 48 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
| |||
119 | 120 | | |
120 | 121 | | |
121 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
122 | 130 | | |
123 | 131 | | |
124 | 132 | | |
| |||
130 | 138 | | |
131 | 139 | | |
132 | 140 | | |
| 141 | + | |
133 | 142 | | |
134 | 143 | | |
135 | 144 | | |
| |||
357 | 366 | | |
358 | 367 | | |
359 | 368 | | |
360 | | - | |
| 369 | + | |
361 | 370 | | |
362 | 371 | | |
363 | 372 | | |
| |||
444 | 453 | | |
445 | 454 | | |
446 | 455 | | |
447 | | - | |
448 | | - | |
449 | | - | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
450 | 464 | | |
451 | | - | |
| 465 | + | |
452 | 466 | | |
453 | | - | |
| 467 | + | |
| 468 | + | |
454 | 469 | | |
455 | 470 | | |
456 | 471 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
148 | 155 | | |
149 | 156 | | |
150 | 157 | | |
| |||
162 | 169 | | |
163 | 170 | | |
164 | 171 | | |
165 | | - | |
166 | 172 | | |
167 | 173 | | |
168 | 174 | | |
| |||
243 | 249 | | |
244 | 250 | | |
245 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
246 | 271 | | |
247 | 272 | | |
248 | 273 | | |
| |||
0 commit comments