From 9c0a3a5cf288be4668cb5d04ce1b649054eb7cc3 Mon Sep 17 00:00:00 2001 From: Lukasz Dziedziak Date: Fri, 13 Dec 2024 15:06:54 +0100 Subject: [PATCH] fix(kds): remove context from map on stream close (backport of #12243) (#12263) ## Motivation Backport https://github.com/kumahq/kuma/pull/12243 I had to do a manual backport because GitHub changed my merge method to merge commit and this one cannot be backported. ## Implementation information ## Supporting documentation Fix #XX Signed-off-by: Lukasz Dziedziak --- pkg/kds/v2/server/tenant_callback.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/kds/v2/server/tenant_callback.go b/pkg/kds/v2/server/tenant_callback.go index 9d9f8bb33e8a..3375b0a679dd 100644 --- a/pkg/kds/v2/server/tenant_callback.go +++ b/pkg/kds/v2/server/tenant_callback.go @@ -5,6 +5,7 @@ import ( "errors" "sync" + envoy_core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" envoy_sd "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" envoy_xds "github.com/envoyproxy/go-control-plane/pkg/server/v3" @@ -50,3 +51,9 @@ func (c *tenancyCallbacks) OnStreamDeltaRequest(streamID int64, request *envoy_s util.FillTenantMetadata(tenantID, request.Node) return nil } + +func (c *tenancyCallbacks) OnDeltaStreamClosed(streamID int64, _ *envoy_core.Node) { + c.Lock() + delete(c.streamToCtx, streamID) + c.Unlock() +}