diff --git a/internal/masterservice/master_service.go b/internal/masterservice/master_service.go index 26ec6494fb..5cd20b4f97 100644 --- a/internal/masterservice/master_service.go +++ b/internal/masterservice/master_service.go @@ -16,12 +16,6 @@ import ( etcdkv "github.com/zilliztech/milvus-distributed/internal/kv/etcd" "github.com/zilliztech/milvus-distributed/internal/log" ms "github.com/zilliztech/milvus-distributed/internal/msgstream" - "github.com/zilliztech/milvus-distributed/internal/tso" - "github.com/zilliztech/milvus-distributed/internal/types" - "github.com/zilliztech/milvus-distributed/internal/util/retry" - "github.com/zilliztech/milvus-distributed/internal/util/tsoutil" - "github.com/zilliztech/milvus-distributed/internal/util/typeutil" - "github.com/zilliztech/milvus-distributed/internal/proto/commonpb" "github.com/zilliztech/milvus-distributed/internal/proto/datapb" "github.com/zilliztech/milvus-distributed/internal/proto/indexpb" @@ -30,6 +24,11 @@ import ( "github.com/zilliztech/milvus-distributed/internal/proto/milvuspb" "github.com/zilliztech/milvus-distributed/internal/proto/proxypb" "github.com/zilliztech/milvus-distributed/internal/proto/querypb" + "github.com/zilliztech/milvus-distributed/internal/tso" + "github.com/zilliztech/milvus-distributed/internal/types" + "github.com/zilliztech/milvus-distributed/internal/util/retry" + "github.com/zilliztech/milvus-distributed/internal/util/tsoutil" + "github.com/zilliztech/milvus-distributed/internal/util/typeutil" ) // internalpb -> internalpb diff --git a/internal/masterservice/task.go b/internal/masterservice/task.go index 26bc4ce160..44abf6926b 100644 --- a/internal/masterservice/task.go +++ b/internal/masterservice/task.go @@ -41,6 +41,8 @@ func (bt *baseReqTask) WaitToFinish() error { select { case <-bt.core.ctx.Done(): return errors.New("context done") + case <-bt.ctx.Done(): + return errors.New("grpc context done") case err, ok := <-bt.cv: if !ok { return errors.New("notify chan closed") diff --git a/internal/proxynode/condition.go b/internal/proxynode/condition.go index ac3327606c..db596027b4 100644 --- a/internal/proxynode/condition.go +++ b/internal/proxynode/condition.go @@ -37,7 +37,7 @@ func (tc *TaskCondition) Ctx() context.Context { func NewTaskCondition(ctx context.Context) *TaskCondition { return &TaskCondition{ - done: make(chan error), + done: make(chan error, 1), ctx: ctx, } } diff --git a/internal/proxynode/meta_cache.go b/internal/proxynode/meta_cache.go index 3d7958adeb..0b35d3949a 100644 --- a/internal/proxynode/meta_cache.go +++ b/internal/proxynode/meta_cache.go @@ -158,8 +158,6 @@ func (m *MetaCache) GetPartitionID(ctx context.Context, collectionName string, p if err == nil { return partitionID, nil } - m.mu.Lock() - defer m.mu.Unlock() req := &milvuspb.ShowPartitionsRequest{ Base: &commonpb.MsgBase{ @@ -174,6 +172,10 @@ func (m *MetaCache) GetPartitionID(ctx context.Context, collectionName string, p if partitions.Status.ErrorCode != commonpb.ErrorCode_Success { return 0, fmt.Errorf("%s", partitions.Status.Reason) } + + m.mu.Lock() + defer m.mu.Unlock() + if len(partitions.PartitionIDs) != len(partitions.PartitionNames) { return 0, fmt.Errorf("partition ids len: %d doesn't equal Partition name len %d", len(partitions.PartitionIDs), len(partitions.PartitionNames))