2.0 KiB
2.0 KiB
Notification Storm Breaker
Module
Notifier
Status
VERIFIED
Description
Circuit breaker mechanism that detects notification storms and applies adaptive throttling to prevent overwhelming downstream channels during mass event cascades.
Implementation Details
- IStormBreaker interface:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StormBreaker/IStormBreaker.cs--EvaluateAsync(records event and checks storm condition),GetStateAsync(gets current storm state for a key),GetActiveStormsAsync(lists all active storms for a tenant) - StormBreakerServiceExtensions:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StormBreaker/StormBreakerServiceExtensions.cs-- DI registration for storm breaker services - ChannelAdapterOptions:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/ChannelAdapterOptions.cs-- circuit breaker configuration for channel adapters - StormBreakerEndpoints:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/StormBreakerEndpoints.cs-- REST API for viewing and managing active storms - INotifierMetrics:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/INotifierMetrics.cs-- metrics counters for storm detection events - Tests:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/StormBreaker/StormBreakerTests.cs - Source: SPRINT_0172_0001_0002_notifier_ii.md
E2E Test Plan
- Verify storm detection triggers when event rate exceeds configured threshold
- Test storm consolidation batches events into summary notifications
- Verify active storm state is queryable via StormBreakerEndpoints API
- Test storm resolution when event rate drops below threshold
- Verify per-tenant storm isolation (storms in one tenant do not affect others)
- Test metrics emission for storm detection and resolution events
Verification
- Run:
docs/qa/feature-checks/runs/notifier/notification-storm-breaker/run-001/ - Date (UTC): 2026-02-11