You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
STAGE-001: When up_with_options fails mid-way, the staging directory (inline secrets/configs) is not cleaned up. cleanup_temp_dir is only called in down_with_options.
PERF-003 (engine/container.rs): The no-recreate loop calls is_container_running per container — each call is a list_containers API round-trip. With N services this is N+1 calls.
PERF-004 (engine/build.rs): walkdir + file I/O runs on a tokio thread, blocking the async runtime.
PERF-005 (engine/copy.rs): sync_to_container blocks the tokio thread during tar + I/O.
Fix
Call self.cleanup_temp_dir() in the error path of up_with_options.
Prefetch the full set of running containers once before the no-recreate loop; check names against the set.
Wrap walkdir + file reads in tokio::task::spawn_blocking.
Wrap sync_to_container tar building in tokio::task::spawn_blocking.
Problem
STAGE-001: When
up_with_optionsfails mid-way, the staging directory (inline secrets/configs) is not cleaned up.cleanup_temp_diris only called indown_with_options.PERF-003 (
engine/container.rs): The no-recreate loop callsis_container_runningper container — each call is alist_containersAPI round-trip. With N services this is N+1 calls.PERF-004 (
engine/build.rs):walkdir+ file I/O runs on a tokio thread, blocking the async runtime.PERF-005 (
engine/copy.rs):sync_to_containerblocks the tokio thread during tar + I/O.Fix
self.cleanup_temp_dir()in the error path ofup_with_options.walkdir+ file reads intokio::task::spawn_blocking.sync_to_containertar building intokio::task::spawn_blocking.