From ba65c38d40fae7a4fb8c0ffaf547ae3f4331700a Mon Sep 17 00:00:00 2001 From: bigsheeper <yihao.dai@zilliz.com> Date: Fri, 19 Mar 2021 17:50:26 +0800 Subject: [PATCH] Fix Deadline Exceeded Signed-off-by: bigsheeper <yihao.dai@zilliz.com> --- internal/masterservice/master_service.go | 11 +++++------ internal/masterservice/task.go | 2 ++ internal/proxynode/condition.go | 2 +- internal/proxynode/meta_cache.go | 6 ++++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/internal/masterservice/master_service.go b/internal/masterservice/master_service.go index 26ec6494f..5cd20b4f9 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 26bc4ce16..44abf6926 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 ac3327606..db596027b 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 3d7958ade..0b35d3949 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)) -- GitLab