fix(rustproxy-http): Evict stale HTTP/2 pooled senders and retry bodyless requests with fresh backend connections to avoid 502s
This commit is contained in:
10
changelog.md
10
changelog.md
@@ -1,5 +1,15 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-03-11 - 25.9.3 - fix(rustproxy-http)
|
||||
Evict stale HTTP/2 pooled senders and retry bodyless requests with fresh backend connections to avoid 502s
|
||||
|
||||
- Introduce MAX_H2_AGE (120s) and evict HTTP/2 senders older than this or closed
|
||||
- Check MAX_H2_AGE on checkout and during background eviction to prevent reuse of stale h2 connections
|
||||
- Add connection_pool.remove_h2() to explicitly remove dead H2 senders from the pool
|
||||
- When a pooled H2 request returns a 502 and the original request had an empty body, retry using a fresh H2 connection (retry_h2_with_fresh_connection)
|
||||
- On H2 auto-detect failures, retry as HTTP/1.1 for bodyless requests via forward_h1_empty_body; return 502 for requests with bodies
|
||||
- Evict dead H2 senders on backend request failures in reconnect_backend so subsequent attempts create fresh connections
|
||||
|
||||
## 2026-03-08 - 25.9.2 - fix(protocol-cache)
|
||||
Include requested_host in protocol detection cache key to avoid cache oscillation when multiple frontend domains share the same backend
|
||||
|
||||
|
||||
Reference in New Issue
Block a user