Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 3ebd102

Browse files
authored
fix: Continue attempting connections no matter what (#412)
* fix: Continue accepting connections after yamux session EOFs * Add verbosity to timeout * Revert test * Revert test change * Never exit when connection fails * Remove useless log
1 parent 9244ee8 commit 3ebd102

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

internal/cmd/agent.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ coder agent start --coder-url https://my-coder.com --token xxxx-xxxx
8484
return xerrors.Errorf("listen: %w", err)
8585
}
8686
defer func() {
87+
log.Info(ctx, "closing wsnet listener")
8788
err := listener.Close()
8889
if err != nil {
8990
log.Error(ctx, "close listener", slog.Error(err))

wsnet/listen.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func Listen(ctx context.Context, log slog.Logger, broker string, turnProxyAuthTo
7171
default:
7272
}
7373

74-
if errors.Is(err, io.EOF) || errors.Is(err, yamux.ErrKeepAliveTimeout) {
74+
if err != nil {
7575
l.log.Warn(ctx, "disconnected from broker", slog.Error(err))
7676

7777
// If we hit an EOF, then the connection to the broker
@@ -88,14 +88,11 @@ func Listen(ctx context.Context, log slog.Logger, broker string, turnProxyAuthTo
8888
if err == nil || errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded) {
8989
break
9090
}
91+
l.log.Warn(ctx, "connecting to broker failed", slog.Error(err))
9192
}
9293
ticker.Stop()
9394
}
94-
if err != nil {
95-
l.acceptError = err
96-
_ = l.Close()
97-
break
98-
}
95+
l.log.Info(ctx, "connected to broker")
9996
}
10097
}()
10198
return l, nil
@@ -106,7 +103,6 @@ type listener struct {
106103
turnProxyAuthToken string
107104

108105
log slog.Logger
109-
acceptError error
110106
ws *websocket.Conn
111107
connClosers []io.Closer
112108
connClosersMut sync.Mutex

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy