diff --git a/internal/querycoordv2/server.go b/internal/querycoordv2/server.go index 1d48f39718..8ef648ff01 100644 --- a/internal/querycoordv2/server.go +++ b/internal/querycoordv2/server.go @@ -408,6 +408,10 @@ func (s *Server) startQueryCoord() error { for _, node := range sessions { s.nodeMgr.Add(session.NewNodeInfo(node.ServerID, node.Address)) s.taskScheduler.AddExecutor(node.ServerID) + + if node.Stopping { + s.nodeMgr.Stopping(node.ServerID) + } } s.checkReplicas() for _, node := range sessions { diff --git a/internal/querycoordv2/server_test.go b/internal/querycoordv2/server_test.go index b3dad18433..5a0ddecda7 100644 --- a/internal/querycoordv2/server_test.go +++ b/internal/querycoordv2/server_test.go @@ -167,6 +167,10 @@ func (suite *ServerSuite) TestRecover() { err := suite.server.Stop() suite.NoError(err) + // stopping querynode + downNode := suite.nodes[0] + downNode.Stopping() + suite.server, err = suite.newQueryCoord() suite.NoError(err) suite.hackServer() @@ -176,6 +180,8 @@ func (suite *ServerSuite) TestRecover() { for _, collection := range suite.collections { suite.True(suite.server.meta.Exist(collection)) } + + suite.True(suite.server.nodeMgr.IsStoppingNode(suite.nodes[0].ID)) } func (suite *ServerSuite) TestNodeUp() {