diff --git a/internal/indexcoord/index_coord.go b/internal/indexcoord/index_coord.go index 9539354340f6e051bdadf0a0bae953546fd96453..a8f062363280d841a92ed2b8d3daabeb19914cc7 100644 --- a/internal/indexcoord/index_coord.go +++ b/internal/indexcoord/index_coord.go @@ -291,9 +291,18 @@ func (i *IndexCoord) Stop() error { // https://github.com/milvus-io/milvus/issues/12282 i.UpdateStateCode(internalpb.StateCode_Abnormal) - i.loopCancel() - i.sched.Close() + if i.loopCancel != nil { + i.loopCancel() + log.Info("cancel the loop of IndexCoord") + } + + if i.sched != nil { + i.sched.Close() + log.Info("close the task scheduler of IndexCoord") + } + i.loopWg.Wait() + for _, cb := range i.closeCallbacks { cb() }