From de9dcf0b84d43649574e9d367fb068c2dbaf9a9f Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 12 May 2026 22:36:46 -0700 Subject: [PATCH] fix(s3/lifecycle): parallelize shell shard sweeps Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- weed/shell/command_s3_lifecycle_run_shard.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/weed/shell/command_s3_lifecycle_run_shard.go b/weed/shell/command_s3_lifecycle_run_shard.go index 1ad1a4205..baf694a96 100644 --- a/weed/shell/command_s3_lifecycle_run_shard.go +++ b/weed/shell/command_s3_lifecycle_run_shard.go @@ -162,6 +162,11 @@ func (c *commandS3LifecycleRunShard) Do(args []string, env *CommandEnv, writer i Client: client, Persister: &dailyrun.FilerCursorPersister{Store: dispatcher.NewFilerStoreClient(filerClient)}, Lister: dispatcher.NewFilerSiblingLister(filerClient, bucketsPath), + // The shell command is used for bounded one-shot sweeps in + // integration tests and CI. Fan out across the selected shards + // so recovery walks do not serialize 16 shard scans into a 10s + // timeout budget. + Workers: len(shards), Walker: walker, EventBudget: *eventBudget, ClientName: fmt.Sprintf("shell-lifecycle-%s", formatShardLabel(shards)),