From f60c2d583485572697f7ec42d8cf3c8015e7c179 Mon Sep 17 00:00:00 2001 From: Hare Date: Wed, 12 Aug 2026 17:09:39 +0900 Subject: [PATCH] worker: resume failed removal operation --- crates/workspace-server/src/server.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/workspace-server/src/server.rs b/crates/workspace-server/src/server.rs index 2359f1c5..f65acf93 100644 --- a/crates/workspace-server/src/server.rs +++ b/crates/workspace-server/src/server.rs @@ -396,6 +396,19 @@ impl WorkspaceWorkerRemoveExecutor { if prepared.plan.state == crate::retention::WorkerRemovalPlanState::Succeeded { return Ok(worker_remove_success_response(&target)); } + let prepared = + if prepared.plan.state == crate::retention::WorkerRemovalPlanState::Failed { + match self.store.prepare_worker_removal_execution( + &self.workspace_id, + &prepared.plan.plan_id, + &prepared.plan.input_fingerprint, + ) { + Ok(prepared) => prepared, + Err(error) => return Ok(worker_retention_error_response(error)), + } + } else { + prepared + }; return self .resume_worker_retention(&runtime, &target, prepared) .await;