diff --git a/internal/proxy/task.go b/internal/proxy/task.go index 3a3e427aab..d0d345d954 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 61a7fae43c..149fb72b05 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)