You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When limits.max_connections is set, Fleet-Server will abruptly close connections, which makes the clients (usually Elastic-Agent) to get a read: connection reset by peer. This is not helpful and does not enable the client to correctly adapt its behaviour.
If there is a proxy in front of Fleet-Server this can cause a very hard situation to debug from the client's (e.g: Elastic-Agent) perspective: Fleet Server gets a connection that is over the limit, closes the connection, which results in an EOF for the proxy, which translates it into a 502, which the elastic-agent enrol command swallows and does not display.
The text was updated successfully, but these errors were encountered:
Our cloud proxy will specifically translate an EOF from the fleet-server backend into a 502, which leads us to searching the Fleet Server code for places where 502 could be returned that don't exist.
If we wanted to change fleet-server's behaviour when the connection limit is reached to return a proper HTTP response, we would need to move our connection tracking; however we currently have the assumption that we track connections before the TLS handshake.
When
limits.max_connections
is set, Fleet-Server will abruptly close connections, which makes the clients (usually Elastic-Agent) to get aread: connection reset by peer
. This is not helpful and does not enable the client to correctly adapt its behaviour.The problem comes from the
limitListener
(L 69):fleet-server/internal/pkg/limit/listener.go
Lines 55 to 80 in 8ff01e3
If there is a proxy in front of Fleet-Server this can cause a very hard situation to debug from the client's (e.g: Elastic-Agent) perspective: Fleet Server gets a connection that is over the limit, closes the connection, which results in an EOF for the proxy, which translates it into a 502, which the elastic-agent enrol command swallows and does not display.
The text was updated successfully, but these errors were encountered: