From b34ecf1e9e3f79c9f8c6072840598b3440d9b1d3 Mon Sep 17 00:00:00 2001 From: Spike Curtis Date: Thu, 7 Dec 2023 17:19:18 +0400 Subject: [PATCH] fix: fix deadlock of mappingQuery on context canceled Fixes #11078 replace bare channel send with SendCtx so that we properly shut down when context is canceled. --- enterprise/tailnet/pgcoord.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/enterprise/tailnet/pgcoord.go b/enterprise/tailnet/pgcoord.go index 7bc915801e..367df51976 100644 --- a/enterprise/tailnet/pgcoord.go +++ b/enterprise/tailnet/pgcoord.go @@ -941,8 +941,7 @@ func (q *querier) mappingQuery(peer mKey) error { return nil } logger.Debug(q.ctx, "sending mappings", slog.F("mapping_len", len(mappings))) - mpr.mappings <- mappings - return nil + return agpl.SendCtx(q.ctx, mpr.mappings, mappings) } func (q *querier) bindingsToMappings(bindings []database.GetTailnetTunnelPeerBindingsRow) ([]mapping, error) {