[nginx] HTTP/3: graceful shutdown on keepalive timeout expiration.
noreply at nginx.com
noreply at nginx.com
Tue Apr 15 15:02:02 UTC 2025
details: https://github.com/nginx/nginx/commit/3a97111adfb6e538ddef1828bbf04a35a8915c1f
branches: master
commit: 3a97111adfb6e538ddef1828bbf04a35a8915c1f
user: Roman Arutyunyan <arut at nginx.com>
date: Tue, 7 Jan 2025 21:14:58 +0400
description:
HTTP/3: graceful shutdown on keepalive timeout expiration.
Previously, the expiration caused QUIC connection finalization even if
there are application-terminated streams finishing sending data. Such
finalization terminated these streams.
An easy way to trigger this is to request a large file from HTTP/3 over
a small MTU. In this case keepalive timeout expiration may abruptly
terminate the request stream.
---
src/http/v3/ngx_http_v3.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/http/v3/ngx_http_v3.c b/src/http/v3/ngx_http_v3.c
index 8db229b29..d8597ec5c 100644
--- a/src/http/v3/ngx_http_v3.c
+++ b/src/http/v3/ngx_http_v3.c
@@ -70,7 +70,7 @@ ngx_http_v3_keepalive_handler(ngx_event_t *ev)
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 keepalive handler");
- ngx_http_v3_finalize_connection(c, NGX_HTTP_V3_ERR_NO_ERROR,
+ ngx_http_v3_shutdown_connection(c, NGX_HTTP_V3_ERR_NO_ERROR,
"keepalive timeout");
}
More information about the nginx-devel
mailing list