From c8a129756fd808e12b1b4324efc8cb4bedf775cf Mon Sep 17 00:00:00 2001 From: yah01 Date: Mon, 22 Jan 2024 16:52:55 +0800 Subject: [PATCH] enhance: filter out the not needed collections while listing (#29690) (#30180) this improves performance while many collections exist resolve #29631 pr: #29690 Signed-off-by: yah01 --- internal/rootcoord/show_collection_task.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/internal/rootcoord/show_collection_task.go b/internal/rootcoord/show_collection_task.go index 31b88e2b58..563057eada 100644 --- a/internal/rootcoord/show_collection_task.go +++ b/internal/rootcoord/show_collection_task.go @@ -19,6 +19,8 @@ package rootcoord import ( "context" + "github.com/samber/lo" + "github.com/milvus-io/milvus-proto/go-api/v2/commonpb" "github.com/milvus-io/milvus-proto/go-api/v2/milvuspb" "github.com/milvus-io/milvus/pkg/util/merr" @@ -52,11 +54,15 @@ func (t *showCollectionTask) Execute(ctx context.Context) error { t.Rsp.Status = merr.Status(err) return err } - for _, meta := range colls { - t.Rsp.CollectionNames = append(t.Rsp.CollectionNames, meta.Name) - t.Rsp.CollectionIds = append(t.Rsp.CollectionIds, meta.CollectionID) - t.Rsp.CreatedTimestamps = append(t.Rsp.CreatedTimestamps, meta.CreateTime) - physical, _ := tsoutil.ParseHybridTs(meta.CreateTime) + for _, coll := range colls { + if len(t.Req.GetCollectionNames()) > 0 && !lo.Contains(t.Req.GetCollectionNames(), coll.Name) { + continue + } + + t.Rsp.CollectionNames = append(t.Rsp.CollectionNames, coll.Name) + t.Rsp.CollectionIds = append(t.Rsp.CollectionIds, coll.CollectionID) + t.Rsp.CreatedTimestamps = append(t.Rsp.CreatedTimestamps, coll.CreateTime) + physical, _ := tsoutil.ParseHybridTs(coll.CreateTime) t.Rsp.CreatedUtcTimestamps = append(t.Rsp.CreatedUtcTimestamps, uint64(physical)) } return nil