From 9c7ae61ff97307e58f3a2db93ce3b8292a8f23ff Mon Sep 17 00:00:00 2001 From: Ti Chi Robot Date: Fri, 18 Aug 2023 12:33:31 +0800 Subject: [PATCH] kv-client(ticdc): evictAllRegions after close receiveEvents goroutine (#9597) (#9599) close pingcap/tiflow#9595 --- cdc/kv/client.go | 1 + cdc/kv/region_worker.go | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/cdc/kv/client.go b/cdc/kv/client.go index 1a3731ec3fd..3bb5e8c0ad8 100644 --- a/cdc/kv/client.go +++ b/cdc/kv/client.go @@ -994,6 +994,7 @@ func (s *eventFeedSession) receiveFromStream( // always create a new region worker, because `receiveFromStream` is ensured // to call exactly once from outer code logic worker := newRegionWorker(parentCtx, s.changefeed, s, addr) + defer worker.evictAllRegions() ctx, cancel := context.WithCancel(parentCtx) var retErr error diff --git a/cdc/kv/region_worker.go b/cdc/kv/region_worker.go index 1b624523c0a..3b3a8cbda13 100644 --- a/cdc/kv/region_worker.go +++ b/cdc/kv/region_worker.go @@ -572,7 +572,6 @@ func (w *regionWorker) run() error { for _, h := range w.handles { h.Unregister() } - w.evictAllRegions() }() ctx, cancel := context.WithCancel(w.parentCtx) wg, ctx := errgroup.WithContext(ctx)