Skip to content

Commit 0fd495d

Browse files
committed
fix: avoid maintenance cleanup stalls by force-removing idle and orphaned runtimes
1 parent 8705e63 commit 0fd495d

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

crates/urt-executor/src/tasks/maintenance.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,9 @@ async fn cleanup_idle(
439439
for runtime in runtimes_to_cleanup {
440440
let name = &runtime.name;
441441

442-
let removed = remove_container_for_cleanup(docker, name, true, "idle").await;
442+
// Force removal is enough for maintenance cleanup and avoids long per-container
443+
// graceful-stop waits that can stall cleanup under load.
444+
let removed = remove_container_for_cleanup(docker, name, false, "idle").await;
443445
if !removed {
444446
debug!(
445447
"Keeping idle runtime {} in registry for retry after failed Docker removal",
@@ -557,13 +559,9 @@ async fn cleanup_orphaned_keepalive(
557559
container.name, ka_id
558560
);
559561

560-
let removed = remove_container_for_cleanup(
561-
docker,
562-
&container.name,
563-
is_container_running(&container),
564-
"orphaned keep-alive",
565-
)
566-
.await;
562+
let removed =
563+
remove_container_for_cleanup(docker, &container.name, false, "orphaned keep-alive")
564+
.await;
567565
if !removed {
568566
debug!(
569567
"Keeping orphaned runtime {} in registry for retry after failed Docker removal",

0 commit comments

Comments
 (0)