From 175f3147d0355ce897988d8abd10b281cd3f7788 Mon Sep 17 00:00:00 2001 From: dragondriver Date: Fri, 10 Dec 2021 22:09:17 +0800 Subject: [PATCH] Proxy exit when disconnected to etcd (#13180) Signed-off-by: dragondriver --- internal/proxy/proxy.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/proxy/proxy.go b/internal/proxy/proxy.go index 8dbea62a82..8c66a5f817 100644 --- a/internal/proxy/proxy.go +++ b/internal/proxy/proxy.go @@ -22,6 +22,7 @@ import ( "math/rand" "sync" "sync/atomic" + "syscall" "time" "github.com/milvus-io/milvus/internal/util/metricsinfo" @@ -118,6 +119,7 @@ func (node *Proxy) Register() error { if err := node.Stop(); err != nil { log.Fatal("failed to stop server", zap.Error(err)) } + syscall.Kill(syscall.Getpid(), syscall.SIGINT) }) // TODO Reset the logger //Params.initLogCfg() @@ -347,18 +349,25 @@ func (node *Proxy) Stop() error { if node.idAllocator != nil { node.idAllocator.Close() + log.Info("close id allocator", zap.String("role", Params.RoleName)) } + if node.segAssigner != nil { node.segAssigner.Close() + log.Info("close segment id assigner", zap.String("role", Params.RoleName)) } + if node.sched != nil { node.sched.Close() + log.Info("close scheduler", zap.String("role", Params.RoleName)) } + if node.chTicker != nil { err := node.chTicker.close() if err != nil { return err } + log.Info("close channels time ticker", zap.String("role", Params.RoleName)) } node.wg.Wait()