Files
mattermost/server/platform/services
9de0027868 [MM-69982] Fix intermittent remote cluster ping failures from stale keep-alive connection reuse (#37694)
* [MM-69982] Fix intermittent remote cluster ping failures from stale keep-alive reuse

The remote cluster HTTP transport set IdleConnTimeout to 90s while pings fire
every PingFreq (60s) and peers close idle keep-alive connections after their own
IdleTimeout (default 60s). Because 90s > 60s, the pooled ping connection outlived
the peer's reaping, so each 60s ping reused a connection the peer had already
closed, racing the FIN and failing intermittently with EOF / connection reset.

Set IdleConnTimeout to PingFreq/2 so the pool always discards the connection
before the next ping fires, making the reuse race structurally impossible while
keeping the invariant (IdleConnTimeout < PingFreq) explicit and tied to PingFreq.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* chore: retrigger Server CI after check-style Docker Hub flake

Server CI check-style failed pulling buildenv (Docker Hub Client.Timeout /
missing buildenv-image artifact); unrelated to IdleConnTimeout changes.
Enterprise CI check-style already passed on the same commit.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: mattermost-code <matty-code@mattermost.com>
2026-07-28 23:17:19 -04:00
..
2025-06-10 15:04:57 -03:00