From d8025177fa36aaa4d9f50f2629ef00501d8fd45d Mon Sep 17 00:00:00 2001 From: Bingyi Sun Date: Fri, 19 Jan 2024 21:06:55 +0800 Subject: [PATCH] fix: return correct compaction plan count by datacoord (#29980) issue: #29943 --------- Signed-off-by: sunby --- internal/datacoord/server_test.go | 9 +++++++++ internal/datacoord/services.go | 10 +++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/internal/datacoord/server_test.go b/internal/datacoord/server_test.go index 77711d98a6..351b1e535e 100644 --- a/internal/datacoord/server_test.go +++ b/internal/datacoord/server_test.go @@ -2477,6 +2477,15 @@ func TestManualCompaction(t *testing.T) { }, } + mockHandler := NewMockCompactionPlanContext(t) + mockHandler.EXPECT().getCompactionTasksBySignalID(mock.Anything).Return( + []*compactionTask{ + { + triggerInfo: &compactionSignal{id: 1}, + state: executing, + }, + }) + svr.compactionHandler = mockHandler resp, err := svr.ManualCompaction(context.TODO(), &milvuspb.ManualCompactionRequest{ CollectionID: 1, Timetravel: 1, diff --git a/internal/datacoord/services.go b/internal/datacoord/services.go index 1e973702b1..d73dda8762 100644 --- a/internal/datacoord/services.go +++ b/internal/datacoord/services.go @@ -1078,8 +1078,16 @@ func (s *Server) ManualCompaction(ctx context.Context, req *milvuspb.ManualCompa return resp, nil } + plans := s.compactionHandler.getCompactionTasksBySignalID(id) + if len(plans) == 0 { + resp.CompactionID = -1 + resp.CompactionPlanCount = 0 + } else { + resp.CompactionID = id + resp.CompactionPlanCount = int32(len(plans)) + } + log.Info("success to trigger manual compaction", zap.Int64("compactionID", id)) - resp.CompactionID = id return resp, nil }