From dca88adabda438f6c0c74ceffb8392d99a38b897 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 11 Dec 2025 18:20:56 +0000 Subject: [PATCH 1/2] test(scaletest/workspacetraffic): fix test flake due to io.EOF on close There are many cases where the code being called would return io.EOF, so skipping it seems like a reasonable easy-fix to this flake. Fixes coder/internal#119 --- scaletest/workspacetraffic/run.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scaletest/workspacetraffic/run.go b/scaletest/workspacetraffic/run.go index cbdc4f96e18db..6b0819a06b6c5 100644 --- a/scaletest/workspacetraffic/run.go +++ b/scaletest/workspacetraffic/run.go @@ -3,6 +3,7 @@ package workspacetraffic import ( "bytes" "context" + "errors" "fmt" "io" "math/rand" @@ -131,8 +132,11 @@ func (r *Runner) Run(ctx context.Context, _ string, logs io.Writer) (err error) closeConn := func() error { closeOnce.Do(func() { closeErr = conn.Close() - if closeErr != nil { + if errors.Is(closeErr, io.EOF) { + closeErr = nil + } else if closeErr != nil { logger.Error(ctx, "close agent connection", slog.Error(closeErr)) + closeErr = xerrors.Errorf("close agent connection: %w", closeErr) } }) return closeErr From 9d5dd5a7f7431bb328385c4ae6310e3ab964fa0e Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 12 Dec 2025 11:21:39 +0000 Subject: [PATCH 2/2] reverse --- scaletest/workspacetraffic/conn.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scaletest/workspacetraffic/conn.go b/scaletest/workspacetraffic/conn.go index 3b516c6347225..fd9bf93866cc7 100644 --- a/scaletest/workspacetraffic/conn.go +++ b/scaletest/workspacetraffic/conn.go @@ -147,8 +147,9 @@ func connectSSH(ctx context.Context, client *codersdk.Client, agentID uuid.UUID, var closers []func() error defer func() { if err != nil { - for _, c := range closers { - if err2 := c(); err2 != nil { + // Reverse order, like defer. + for i := len(closers) - 1; i >= 0; i-- { + if err2 := closers[i](); err2 != nil { err = errors.Join(err, err2) } } @@ -227,8 +228,9 @@ func connectSSH(ctx context.Context, client *codersdk.Client, agentID uuid.UUID, } } } - for _, c := range closers { - if err := c(); err != nil { + // Reverse order, like defer. + for i := len(closers) - 1; i >= 0; i-- { + if err := closers[i](); err != nil { if !errors.Is(err, io.EOF) { merr = errors.Join(merr, err) }