From bd7910632ad5eb58fca10f15a1783f8a1a1fcd10 Mon Sep 17 00:00:00 2001 From: Zhen Ye Date: Sat, 28 Sep 2024 10:51:14 +0800 Subject: [PATCH] fix: etcd session discoverer cannot recover from ErrCompacted (#36568) issue: #36554 Signed-off-by: chyezh --- .../streamingutil/service/discoverer/session_discoverer.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/internal/util/streamingutil/service/discoverer/session_discoverer.go b/internal/util/streamingutil/service/discoverer/session_discoverer.go index 5cbc58b6e0..630d1c866e 100644 --- a/internal/util/streamingutil/service/discoverer/session_discoverer.go +++ b/internal/util/streamingutil/service/discoverer/session_discoverer.go @@ -95,6 +95,7 @@ func (sw *sessionDiscoverer) watch(ctx context.Context, cb func(VersionedState) // handleETCDEvent handles the etcd event. func (sw *sessionDiscoverer) handleETCDEvent(resp clientv3.WatchResponse) error { if resp.Err() != nil { + sw.logger.Warn("etcd watch failed with error", zap.Error(resp.Err())) return resp.Err() } @@ -123,10 +124,6 @@ func (sw *sessionDiscoverer) handleETCDEvent(resp clientv3.WatchResponse) error // initDiscover initializes the discoverer if needed. func (sw *sessionDiscoverer) initDiscover(ctx context.Context) error { - if sw.revision > 0 { - return nil - } - resp, err := sw.etcdCli.Get(ctx, sw.prefix, clientv3.WithPrefix(), clientv3.WithSerializable()) if err != nil { return err