From 59457eb75b34eb2c47670d8c6d8fa82490acc67d Mon Sep 17 00:00:00 2001 From: wei liu Date: Thu, 15 Jun 2023 11:14:39 +0800 Subject: [PATCH] fix get partition progress return wrong error msg (#24899) Signed-off-by: Wei Liu --- internal/proxy/util.go | 10 ++++++++++ internal/proxy/util_test.go | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/internal/proxy/util.go b/internal/proxy/util.go index bb1f3512c..77bb16688 100644 --- a/internal/proxy/util.go +++ b/internal/proxy/util.go @@ -1191,6 +1191,16 @@ func getPartitionProgress( ) return } + + if resp.GetStatus().GetErrorCode() != commonpb.ErrorCode_Success { + err = merr.Error(resp.GetStatus()) + log.Warn("fail to show partitions", + zap.String("collection_name", collectionName), + zap.Strings("partition_names", partitionNames), + zap.String("reason", resp.Status.Reason)) + return + } + if len(resp.InMemoryPercentages) != len(partitionIDs) { errMsg := "fail to show partitions from the querycoord, invalid data num" err = errors.New(errMsg) diff --git a/internal/proxy/util_test.go b/internal/proxy/util_test.go index 8306032e8..f99449db5 100644 --- a/internal/proxy/util_test.go +++ b/internal/proxy/util_test.go @@ -1765,3 +1765,15 @@ func Test_TopKLimit(t *testing.T) { assert.Error(t, validateTopKLimit(16385)) assert.Error(t, validateTopKLimit(0)) } + +func Test_GetPartitionProgressFailed(t *testing.T) { + qc := types.NewMockQueryCoord(t) + qc.EXPECT().ShowPartitions(mock.Anything, mock.Anything).Return(&querypb.ShowPartitionsResponse{ + Status: &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_UnexpectedError, + Reason: "Unexpected error", + }, + }, nil) + _, _, err := getPartitionProgress(context.TODO(), qc, &commonpb.MsgBase{}, []string{}, "", 1) + assert.Error(t, err) +} -- GitLab