fix(webhooks): isolate half-open probe state per consumer URL#550
Conversation
|
@Olasunkanmi975 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Hi maintainer, please review my work for Approval |
|
@Jagadeeshftw hi maintainer please review my pr |
|
good fix - the in-memory breaker was tracking half-open probe state globally rather than per url, so a probe for one consumer endpoint could block admission for a completely different url. now probe tracking is isolated per consumer url to match the redis implementation. the concurrency tests covering per-url isolation and the parity checks with redis semantics are exactly what this kind of shared-state bug needs. |
##closed #510
Summary
Fixes the in-memory webhook circuit breaker to enforce exactly one half-open probe per consumer URL, matching the Redis implementation and preventing probe interference across endpoints.
Changes
Testing
Covered:
Validation
npm testSecurity
This change preserves the exactly-one-probe invariant, preventing a flapping endpoint from affecting probe admission for other consumer URLs.