Handler ErrCompacted for handler observer (#21226)

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
pull/21243/head
congqixia 2022-12-14 18:27:23 +08:00 committed by GitHub
parent b56db3cbe8
commit 0c8aaa5d0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 0 deletions

View File

@ -18,6 +18,7 @@ package observers
import (
"context"
"errors"
"strings"
"sync"
"time"
@ -33,6 +34,7 @@ import (
"github.com/milvus-io/milvus/internal/util/typeutil"
"github.com/samber/lo"
"go.etcd.io/etcd/api/v3/mvccpb"
v3rpc "go.etcd.io/etcd/api/v3/v3rpc/rpctypes"
"go.uber.org/zap"
)
@ -206,6 +208,17 @@ func (ob *HandoffObserver) schedule(ctx context.Context) {
}
if err := resp.Err(); err != nil {
if errors.Is(err, v3rpc.ErrCompacted) {
log.Info("Etcd Revision compacted error met, restart observer")
err := ob.Start(ctx)
if err != nil {
log.Fatal("fail to restart handoff observer, aborting querycoord",
zap.Error(err),
)
}
return
}
// etcd problem, shall be handled by session keep alive
log.Warn("receive error handoff event from etcd",
zap.Error(err))
}