You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(server): report what a timed-out stream limit change actually did
Bounding a stream that has outgrown its new limit sheds the excess before the
broker replies, so the call takes as long as the deletion. Startup gave up
first and logged that the stream was "left at its live configuration" while the
broker went on to apply the change — telling the operator the opposite of what
had happened.
Startup now waits on a handle of its own, separate from the one the health
indicator and monitor share, because the two want opposite timeouts: a probe
has to fail fast to be worth alerting on, and an admin call has to outlast the
bytes it is deleting. When it still cannot get an answer it re-reads the stream
and reports the limits actually in force rather than assuming its own update
failed.
Found by deploying #1501 to staging, where a 32.3 GB GitHub stream took longer
to shed than the client would wait.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LK2yxSEfNL5Q5xwbAqAMWr
A webhook stream limit change that takes longer than the broker's reply now says what actually happened. Bounding a stream that has outgrown its new limit deletes the excess before the broker answers, so on a large stream the wait is proportional to the data being shed — long enough that startup gave up and reported the stream "left at its live configuration" while the broker went on to apply the change. An operator reading that was told the opposite of the truth: that nothing had happened, when tens of gigabytes had just been deleted. Startup now waits long enough for the change to land, and if it still cannot get an answer it reports the limits the stream actually has rather than assuming its own update failed.
6
+
7
+
**Operators:** the new `HEPHAESTUS_WEBHOOK_STREAM_LIMIT_UPDATE_TIMEOUT` defaults to `5m` and applies only at startup. Raise it if a stream is large enough that shedding the excess takes longer than that; it is deliberately separate from the health-check timeouts, which must stay short to be worth alerting on.
0 commit comments