Skip to content

Commit 8db791b

Browse files
committed
fix: Tidy up closes for nicer output
There was a context canceled message that would appear because of traces, and this was using the wrong close. I don't think it was causing any specific problems, but it could make a replica warning appear on restart.
1 parent 618c6dc commit 8db791b

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

cli/server.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -476,14 +476,13 @@ func Server(dflags *codersdk.DeploymentFlags, newAPI func(context.Context, *code
476476
), dflags.PromAddress.Value, "prometheus")()
477477
}
478478

479-
// We use a separate closer so the Enterprise API
479+
// We use a separate coderAPICloser so the Enterprise API
480480
// can have it's own close functions. This is cleaner
481481
// than abstracting the Coder API itself.
482-
coderAPI, closer, err := newAPI(ctx, options)
482+
coderAPI, coderAPICloser, err := newAPI(ctx, options)
483483
if err != nil {
484484
return err
485485
}
486-
defer closer.Close()
487486

488487
client := codersdk.New(localURL)
489488
if dflags.TLSEnable.Value {
@@ -663,7 +662,7 @@ func Server(dflags *codersdk.DeploymentFlags, newAPI func(context.Context, *code
663662
wg.Wait()
664663

665664
cmd.Println("Waiting for WebSocket connections to close...")
666-
_ = coderAPI.Close()
665+
_ = coderAPICloser.Close()
667666
cmd.Println("Done waiting for WebSocket connections")
668667

669668
// Close tunnel after we no longer have in-flight connections.

coderd/tracing/exporter.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package tracing
33
import (
44
"context"
55

6+
"github.com/go-logr/logr"
67
"go.opentelemetry.io/otel"
78
"go.opentelemetry.io/otel/exporters/otlp/otlptrace"
89
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
@@ -59,12 +60,15 @@ func TracerProvider(ctx context.Context, service string, opts TracerOpts) (*sdkt
5960

6061
tracerProvider := sdktrace.NewTracerProvider(tracerOpts...)
6162
otel.SetTracerProvider(tracerProvider)
63+
// Ignore otel errors!
64+
otel.SetErrorHandler(otel.ErrorHandlerFunc(func(err error) {}))
6265
otel.SetTextMapPropagator(
6366
propagation.NewCompositeTextMapPropagator(
6467
propagation.TraceContext{},
6568
propagation.Baggage{},
6669
),
6770
)
71+
otel.SetLogger(logr.Discard())
6872

6973
return tracerProvider, func(ctx context.Context) error {
7074
for _, close := range closers {

enterprise/tailnet/coordinator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ func (c *haCoordinator) ServeAgent(conn net.Conn, id uuid.UUID) error {
215215
for {
216216
node, err := c.handleAgentUpdate(id, decoder)
217217
if err != nil {
218-
if errors.Is(err, io.EOF) || errors.Is(err, io.ErrClosedPipe) {
218+
if errors.Is(err, io.EOF) || errors.Is(err, io.ErrClosedPipe) || errors.Is(err, context.Canceled) {
219219
return nil
220220
}
221221
return xerrors.Errorf("handle next agent message: %w", err)

0 commit comments

Comments
 (0)