From a82a8c7b021c00cf98ad2b48284c081cca75ebce Mon Sep 17 00:00:00 2001 From: Colin Adler Date: Tue, 23 Jan 2024 22:46:59 -0600 Subject: [PATCH] fix: disable keepalives in workspaceapps transport (#11789) Connection caching causes requests to hit the wrong workspaces. See comment. Fixes https://github.com/coder/coder/issues/11767 --- coderd/tailnet.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/coderd/tailnet.go b/coderd/tailnet.go index 5f3300711aad0..44bc17a0137bc 100644 --- a/coderd/tailnet.go +++ b/coderd/tailnet.go @@ -102,7 +102,14 @@ func NewServerTailnet( transport: tailnetTransport.Clone(), } tn.transport.DialContext = tn.dialContext - tn.transport.MaxIdleConnsPerHost = 10 + + // Bugfix: for some reason all calls to tn.dialContext come from + // "localhost", causing connections to be cached and requests to go to the + // wrong workspaces. This disables keepalives for now until the root cause + // can be found. + tn.transport.MaxIdleConnsPerHost = -1 + tn.transport.DisableKeepAlives = true + tn.transport.MaxIdleConns = 0 // We intentionally don't verify the certificate chain here. // The connection to the workspace is already established and most