From d57391d0c702d4c8cbacb17a23eff6c49dbb2624 Mon Sep 17 00:00:00 2001 From: James Lu Date: Tue, 13 Jan 2026 10:32:20 +0800 Subject: [PATCH] fix: re-enqueue the snapshot CR for the snapshot deletion during upgrading the engine. longhorn/longhorn 10274 Signed-off-by: James Lu --- controller/snapshot_controller.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/controller/snapshot_controller.go b/controller/snapshot_controller.go index a4103157a6..364b5a7016 100644 --- a/controller/snapshot_controller.go +++ b/controller/snapshot_controller.go @@ -442,6 +442,13 @@ func (sc *SnapshotController) reconcile(snapshotName string) (err error) { return err } + if isEngineUpgrading(engine) { + // requeue the snapshot to wait for upgrading engine after 3 seconds + snapshot.Status.Error = fmt.Sprintf("snapshot deletion delayed: volume engine %v is upgrading from image %v to %v", engine.Name, engine.Status.CurrentImage, engine.Spec.Image) + sc.enqueueSnapshotAfter(snapshot, 3*time.Second) + return nil + } + defer func() { engine, err = sc.ds.GetEngineRO(engine.Name) if err != nil {