From 3f9da2b8a0a4062fee7be8a4d657fe242e6a04ca Mon Sep 17 00:00:00 2001 From: congqixia Date: Wed, 29 Nov 2023 18:54:27 +0800 Subject: [PATCH] fix: Check whether compaction plan exist before update (#28826) Fix: #28825 Signed-off-by: Congqi Xia --- internal/datacoord/compaction.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/datacoord/compaction.go b/internal/datacoord/compaction.go index 97810d2521..6cbf625fbd 100644 --- a/internal/datacoord/compaction.go +++ b/internal/datacoord/compaction.go @@ -197,7 +197,11 @@ func (c *compactionPlanHandler) removeTasksByChannel(channel string) { func (c *compactionPlanHandler) updateTask(planID int64, opts ...compactionTaskOpt) { c.mu.Lock() defer c.mu.Unlock() - c.plans[planID] = c.plans[planID].shadowClone(opts...) + plan, ok := c.plans[planID] + if !ok { + return + } + c.plans[planID] = plan.shadowClone(opts...) } func (c *compactionPlanHandler) enqueuePlan(signal *compactionSignal, plan *datapb.CompactionPlan) error {