Skip to content

GH-5409 Commit the out-of-process durability chaos rig with a README - #5420

Merged
jeremydmiller merged 1 commit into
mainfrom
gh-5409-durability-chaos-rig
Nov 7, 2026
Merged

jeremydmiller merged 1 commit into
mainfrom
gh-5409-durability-chaos-rig

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Closes #5409.

Adds src/Testing/DurabilityChaosRig, the out-of-process crash rig that found #5399, #5408 and #5410. A driver runs a producer and three to five workers, injects faults from one seed, then checks a ledger for lost, duplicated and stuck messages. The faults are SIGKILL, SIGTERM, SIGSTOP past the stale node timeout, and docker pause of the database or the broker. Like KafkaPerfRig, it is in neither .slnx solution and not in CI, so LocalGate and VerifyLocalGateCoverage are unaffected.

Smoke runs (2026-11-07, this branch)

Mode Seed Faults injected Sent Result Slowest message
PostgreSQL queue + Marten, calm baseline 1 none, 30 s 5,780 CLEAN 185 s
PostgreSQL queue + Marten 31 2 dbdown, 3 pause, 2 kill, 90 s 14,660 CLEAN 489 s
RabbitMQ + Marten 32 8 kill, 3 term, 1 dbdown, 1 brokerdown, 90 s 15,180 CLEAN 20 s
SQL Server queue + EF Core 33 5 kill, 3 term, 2 pause, 90 s 11,040 1 dead letter n/a

Two of these are real findings, already being fixed:

🤖 Generated with Claude Code

https://claude.ai/code/session_013nKJrqsJw3j23Xd46q37ob

src/Testing/DurabilityChaosRig is a standalone crash rig for the outbox, durable inbox,
database queues and node agents. A driver runs a producer and several workers, injects
SIGKILL, SIGTERM, SIGSTOP and database or broker outages from one seed, then checks a
ledger for lost, duplicated and stuck messages. Like KafkaPerfRig it is in neither
solution and not in CI. The README covers roles, knobs, containers and how to
investigate a run that is not clean, and CLAUDE.md points at it.

Closes #5409

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013nKJrqsJw3j23Xd46q37ob
@jeremydmiller jeremydmiller added this to the 6.63 milestone Nov 7, 2026
@jeremydmiller
jeremydmiller merged commit 7db7a73 into main Nov 7, 2026
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.

Commit the out-of-process durability chaos rig (src/Testing/DurabilityChaosRig) with a README

1 participant