Skip to content

Preserve soak evidence when resource sampling fails - #160

Merged
rmcdaniel merged 1 commit into
mainfrom
fix/soak-mysql-sample-failure
Sep 11, 2026
Merged

Preserve soak evidence when resource sampling fails#160
rmcdaniel merged 1 commit into
mainfrom
fix/soak-mysql-sample-failure

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Summary

Fixes the sampler crash observed in scheduled run 34597695626; related to #137.

  • Accept MySQL counts only after a successful command with exactly four nonnegative integer fields. Nonnumeric Unavailable: output becomes a failed observation, not ValueError.
  • Record OS/timeout failures per collector and continue the remaining collectors and later samples. Failed samples still disqualify trusted evidence; missing counts are not reported as zero.
  • Add regression coverage for malformed/error output, valid zero counts, each collector failing, and recovery on the next sample.

Validation

python3 -m unittest tests/Unit/Support/server_soak_test.py tests/Unit/Support/vultr_soak_cleanup_test.py: 27 tests pass. py_compile, diff check and repository publication check pass.

The daily schedule is paused (DW_PERF_SOAK_ENABLED=false) pending repair and review, with no extra paid run triggered. The prior run also recorded six workflow result timeouts and two readiness timeouts; this instrumentation change does not fix or waive those failures and is not an endurance/capacity pass.

No public runtime/protocol/default-image behavior changes. No package release or SDK rebuild is required for this harness-only change; normal public CI owns the smoke check.

@rmcdaniel
rmcdaniel merged commit a65c4e1 into main Sep 11, 2026
9 checks passed
@rmcdaniel
rmcdaniel deleted the fix/soak-mysql-sample-failure branch September 11, 2026 14:44
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.

2 participants