diff --git a/internal/proxy/task.go b/internal/proxy/task.go index 3a3e427aab8dcb760e39d57fa38182df75ca0108..d0d345d954af73164433046a548423eb862926ec 100644 --- a/internal/proxy/task.go +++ b/internal/proxy/task.go @@ -2636,10 +2636,11 @@ func (dct *describeCollectionTask) PreExecute(ctx context.Context) error { dct.Base.MsgType = commonpb.MsgType_DescribeCollection dct.Base.SourceID = Params.ProxyID - if err := ValidateCollectionName(dct.CollectionName); err != nil { - return err + if dct.CollectionID != 0 && len(dct.CollectionName) == 0 { + return nil } - return nil + + return ValidateCollectionName(dct.CollectionName) } func (dct *describeCollectionTask) Execute(ctx context.Context) error { diff --git a/internal/proxy/task_test.go b/internal/proxy/task_test.go index 61a7fae43c078e2e04d13bddcdab400ab5948b7f..149fb72b051d5fbd64a27ff90703b23255e9f31f 100644 --- a/internal/proxy/task_test.go +++ b/internal/proxy/task_test.go @@ -1311,7 +1311,14 @@ func TestDescribeCollectionTask(t *testing.T) { err = task.PreExecute(ctx) assert.NotNil(t, err) + // describe collection with id + task.CollectionID = 1 + task.CollectionName = "" + err = task.PreExecute(ctx) + assert.NoError(t, err) + rc.Stop() + task.CollectionID = 0 task.CollectionName = collectionName err = task.PreExecute(ctx) assert.Nil(t, err)