diff --git a/internal/datacoord/compaction_inspector.go b/internal/datacoord/compaction_inspector.go index 448df201b7..9e217e23ed 100644 --- a/internal/datacoord/compaction_inspector.go +++ b/internal/datacoord/compaction_inspector.go @@ -309,7 +309,7 @@ func (c *compactionInspector) loadMeta() { triggers := c.meta.GetCompactionTasks(context.TODO()) for _, tasks := range triggers { for _, task := range tasks { - if isCompactionTaskFinished(task) { + if isCompactionTaskCleaned(task) { log.Info("compactionInspector loadMeta abandon compactionTask", zap.Int64("planID", task.GetPlanID()), zap.String("type", task.GetType().String()), diff --git a/internal/datacoord/compaction_util.go b/internal/datacoord/compaction_util.go index f0ceadf415..da9517d075 100644 --- a/internal/datacoord/compaction_util.go +++ b/internal/datacoord/compaction_util.go @@ -124,3 +124,15 @@ func isCompactionTaskFinished(t *datapb.CompactionTask) bool { return false } } + +// isCompactionTaskCleaned returns true if the task has been cleaned +// (cleaned, or unknown) and requires no further processing. +func isCompactionTaskCleaned(t *datapb.CompactionTask) bool { + switch t.GetState() { + case datapb.CompactionTaskState_cleaned, + datapb.CompactionTaskState_unknown: + return true + default: + return false + } +}