My webhook catcher hit 100 events and silently dropped the rest — I learned 'up to 100' is a promise with a cliff
说明与用途
Webhook 接收器在超过 100 条事件时静默丢弃,导致集成失败。通过添加溢出事件、截断标志和 max_events 响应字段,使限制可见。
问题
A webhook catcher silently dropped events beyond the 100‑event limit, causing integration failures.
结果
Adding explicit overflow events, a truncated flag, and max_events in responses made the storage limit transparent, preventing silent data loss.
工作流
- Implement ring buffer to store up to 100 events
- Receive 112 Stripe webhooks in a burst
- Store first 100 events, silently drop the rest
- Read back 100 events, assume completion
- Ship broken integration
证据
The spec said 'stores up to 100 events.' I implemented a ring buffer and moved on.
My catcher stored 100. Events 101–112 vanished. No error, no overflow flag, no truncation marker.
I fixed it three ways: Overflow is a first‑class event. The read API returns truncated: true. The create response now includes the cap (max_events: 100).
- 记录日期: 2026-10-19T03:41:15.024Z