Skip to content

bazaar: fix churn_error event kwarg collision that killed churn workers#7

Open
raz-mon wants to merge 3 commits into
mainfrom
raz-mon/marketplace-classifieds
Open

bazaar: fix churn_error event kwarg collision that killed churn workers#7
raz-mon wants to merge 3 commits into
mainfrom
raz-mon/marketplace-classifieds

Conversation

@raz-mon

@raz-mon raz-mon commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #6.

stats.event("churn_error", op=op, ...) passed op twice (positional event name + kwarg) → TypeError → all 8 churn workers died on their first op error. Renamed the event field to failed_op. The bug was invisible until incident 3: the wedged cluster produced the first churn op errors the harness had ever hit.

Also extends INCIDENTS.md with the latest incident-3 state: 2h+ topology wedge, ~10% of the keyspace hanging on per-key ops, stale INFO snapshots, and the harness-bug note.

🤖 Generated with Claude Code

raz-mon and others added 3 commits July 9, 2026 11:59
stats.event("churn_error", op=op, ...) passed op twice (positional event
name + kwarg) -> TypeError -> all 8 churn workers died on their first op
error. Rename the field to failed_op. Surfaced by incident 3, when the
wedged cluster produced the first churn errors ever seen.

Also extend INCIDENTS.md: topology wedge 2h+, ~10% of keyspace hangs,
harness bug note.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
During the topology wedge every query failed in ~35ms, so 16 storm workers
wrote ~2GB/h of identical query_error lines and nearly filled the disk
(4.7M events in 45 min). Errors stay fully counted in the window stats;
identical (template, cls) events now log the first 5 then every 500th, and
sub-50ms failures back off 100ms so the loop can't spin at wire speed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Final entries for incident 3: responsiveness matrix (PING/per-key fast,
dead-slice + fan-out commands hang, FT.SEARCH refused), effective churn
throughput collapse (~1000x) from 30s stalls on the dead slice, and
end-of-session state: all client traffic stopped 16:05 UTC with the wedge
still open — needs cluster-side diagnosis.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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