diff --git a/agent/client.go b/agent/client.go index 0dc80fa6..9b1351f6 100644 --- a/agent/client.go +++ b/agent/client.go @@ -25,7 +25,9 @@ import ( ) const ( - wsDeadline = 70 * time.Second + // Keep the connection alive long enough for a slow collection cycle to + // finish before the hub considers the agent disconnected. + wsDeadline = 120 * time.Second ) type caCertFileError struct { diff --git a/agent/client_test.go b/agent/client_test.go index a4598fc1..97cb6654 100644 --- a/agent/client_test.go +++ b/agent/client_test.go @@ -700,3 +700,11 @@ func TestGetToken(t *testing.T) { assert.Equal(t, expectedToken, token, "Whitespace should be stripped from token file content") }) } + +func TestWebSocketDeadlineCoversSlowCollection(t *testing.T) { + const minimumDeadline = 120 * time.Second + + if wsDeadline < minimumDeadline { + t.Fatalf("WebSocket deadline %s is shorter than the slow-collection window of %s", wsDeadline, minimumDeadline) + } +}