Proxy: unbusy stale HTTP/2 request body buffers on next upstream.

Similarly to previous changes, if a buffered request body wasn't
fully sent, a partially sent buffer was sitting in the busy chain
and not recycled when switching to the next upstream server.
This resulted in a stalled connection because ngx_output_chain()
could not get a free buffer to read the next portion of request body.
pull/1058/head
Sergey Kandaurov 2 weeks ago
parent 828d5b5178
commit 784244e188
  1. 4
      src/http/modules/ngx_http_proxy_v2_module.c

@ -983,6 +983,10 @@ ngx_http_proxy_v2_body_output_filter(void *data, ngx_chain_t *in)
ngx_free_chain(r->pool, ln);
}
for (ln = ctx->busy; ln; ln = ln->next) {
ln->buf->pos = ln->buf->last;
}
}
if (in) {

Loading…
Cancel
Save