fix(http): address streaming review findings - #5508
Conversation
|
Stack for rivet-dev/rivet
Get stack: change pokxmrox |
ReviewScoped, well-motivated follow-up to the streaming-lifecycle PR. Went through request.rs, response.rs, response_queue.rs, handler.rs, shared_state.rs, and the config plumbing. Correctness
One gap worth a lookgateway_http_response_queue_max_messages() and gateway_streaming_http_response_queue_max_bytes() (engine/packages/config/src/config/pegboard.rs) do not clamp their configured value the way gateway_http_response_body_channel_capacity() does (unwrap_or(16).max(1)). Since these two were previously hardcoded constants and are now operator-configurable, a config value of 0 will make HttpResponseQueueBudget::try_reserve fail immediately on every call, silently blocking all HTTP responses through the affected gateway. Not a bug in the diff's own logic, but worth either clamping to a sane minimum like the channel-capacity getter does, or explicitly documenting that 0 disables response delivery. Minor / nit
Test coverage
Style / conventions
Nothing blocking here; the queue-limit clamping point is the only thing I would actually want addressed before merge. |
284c183 to
5ccfe9c
Compare
460a6c3 to
2ae1317
Compare
5ccfe9c to
74db67c
Compare
2ae1317 to
4baff97
Compare
Uh oh!
There was an error while loading. Please reload this page.