Chris Lu
7ed56b6728
fix(s3/lifecycle): cold-start walker covers pre-existing objects
...
runShard only walked the bucket tree on the recovery branch (found
&& hash mismatch). For a fresh worker with no persisted cursor,
found=false, so the recovery walker never fired and the meta-log
replay only scanned runNow - maxTTL of events. Objects PUT before
that window — including pre-existing objects in a newly-rule-enabled
bucket — never matched the rule.
The streaming worker handled this with scheduler.BucketBootstrapper.
Daily-replay needed the equivalent: walk the live tree once on the
first run for each shard so pre-existing objects get evaluated even
when their PUT events are outside meta-log scan window.
Restructured the recovery branch to fire the walker on either
(found && mismatch) OR !found. On cold-start the cursor isn't
rewound — we keep TsNs=0 and let the drain below floor to
runNow - maxTTL like before; the walker just handles whatever the
sliding window can't reach.
TestLifecycleBootstrapWalkOnExistingObjects was the exact CI failure
this addresses (https://github.com/seaweedfs/seaweedfs/actions/runs/25777823522/job/75714014151 ).
2026-05-12 21:22:00 -07:00
..
2026-01-28 14:34:07 -08:00
2026-04-27 16:37:33 -07:00
2026-05-07 18:54:06 -07:00
2026-04-20 12:04:41 -07:00
2026-04-07 11:13:29 -07:00
2026-05-11 13:41:33 -07:00
2026-03-07 09:19:40 -08:00
2026-01-07 13:06:08 -08:00
2026-04-30 15:19:04 -07:00
2026-05-12 21:22:00 -07:00
2026-04-17 12:23:21 -07:00
2024-07-04 11:00:41 -07:00
2026-02-20 18:40:47 -08:00
2026-05-08 21:35:27 -07:00
2026-01-12 10:45:24 -08:00
2026-05-01 01:14:15 -07:00
2026-02-26 16:36:24 -08:00
2026-04-17 12:23:21 -07:00
2025-11-26 12:24:02 -08:00
2026-02-03 11:55:12 -08:00
2026-02-16 13:59:13 -08:00
2026-04-07 13:22:21 -07:00
2026-04-17 12:20:28 -07:00
2026-04-17 12:20:28 -07:00
2026-02-16 13:59:13 -08:00
2026-04-17 12:23:21 -07:00
2026-04-14 10:52:00 -07:00
2026-01-07 13:06:08 -08:00
2026-04-03 16:04:27 -07:00
2026-02-26 16:36:24 -08:00
2026-04-21 20:17:42 -07:00
2026-04-21 20:17:42 -07:00
2025-08-11 10:31:01 -07:00
2025-12-29 20:17:23 -08:00
2025-12-04 14:51:37 -08:00
2026-03-07 11:10:02 -08:00
2026-05-01 01:14:15 -07:00
2025-11-18 23:18:35 -08:00
2026-04-25 23:06:37 -07:00
2026-04-25 23:06:37 -07:00
2026-03-23 13:35:16 -07:00
2026-01-07 13:06:08 -08:00
2026-05-08 11:03:03 -07:00
2026-02-18 18:20:03 -08:00
2026-04-03 16:04:27 -07:00
2026-02-19 22:52:05 -08:00
2026-04-03 16:04:27 -07:00
2024-07-04 11:00:41 -07:00
2026-04-02 17:37:05 -07:00
2026-04-02 17:37:05 -07:00
2026-04-03 16:04:27 -07:00
2025-12-27 12:25:33 -08:00
2026-04-07 13:21:30 -07:00
2026-03-28 13:24:11 -07:00
2026-01-07 13:06:08 -08:00
2025-11-13 16:10:46 -08:00
2026-04-07 13:21:30 -07:00
2025-08-30 11:15:48 -07:00
2026-04-17 12:23:21 -07:00
2025-11-13 16:10:46 -08:00
2025-12-26 13:21:15 -08:00
2026-04-03 16:04:27 -07:00
2025-11-18 23:18:35 -08:00
2026-05-04 19:14:41 -07:00
2026-05-04 19:14:41 -07:00
2026-04-29 10:06:51 -07:00
2026-04-26 16:31:42 -07:00
2026-05-04 19:21:41 -07:00
2025-11-18 23:18:35 -08:00
2026-05-04 19:21:41 -07:00
2025-10-23 20:10:12 -07:00
2025-11-18 23:18:35 -08:00
2025-12-23 14:48:50 -08:00
2026-05-04 19:14:41 -07:00
2026-05-04 19:14:41 -07:00
2026-04-03 16:04:27 -07:00
2026-01-07 13:06:08 -08:00
2025-12-30 12:40:59 -08:00
2026-03-27 22:50:02 -07:00
2026-05-08 21:35:27 -07:00
2025-10-29 13:43:27 -07:00
2026-02-07 13:27:47 -08:00
2026-05-08 21:54:39 -07:00
2026-03-27 22:50:02 -07:00
2026-05-08 21:54:39 -07:00
2025-08-21 08:28:07 -07:00
2026-02-12 23:11:41 -08:00
2026-03-27 23:15:01 -07:00
2026-03-16 12:58:26 -07:00
2025-08-21 08:28:07 -07:00
2026-01-07 13:06:08 -08:00
2026-03-06 12:35:08 -08:00
2026-04-03 16:04:27 -07:00
2025-08-21 08:28:07 -07:00
2025-10-24 01:45:22 -07:00
2026-05-05 11:26:08 -07:00
2026-05-01 01:14:15 -07:00
2026-05-04 22:15:03 -07:00
2026-01-07 13:06:08 -08:00
2026-02-03 11:55:12 -08:00
2026-04-08 17:08:57 -07:00
2026-05-05 11:26:08 -07:00
2026-02-07 13:27:47 -08:00
2026-05-10 09:39:05 -07:00
2026-05-10 09:39:05 -07:00
2026-01-07 13:06:08 -08:00
2026-04-26 16:31:42 -07:00
2026-01-22 16:56:35 -08:00
2026-02-08 20:06:32 -08:00
2026-03-04 12:52:09 -08:00
2026-05-10 12:08:06 -07:00
2026-05-10 14:55:59 -07:00
2026-05-10 13:34:25 -07:00
2026-05-08 21:35:27 -07:00
2026-05-10 14:55:59 -07:00
2026-02-07 13:27:47 -08:00
2026-05-10 14:55:59 -07:00
2026-05-09 18:38:38 -07:00
2026-05-09 18:38:38 -07:00
2026-01-17 18:40:48 -08:00
2026-01-02 15:52:37 -08:00
2026-03-11 02:28:34 -07:00
2026-04-02 15:59:52 -07:00
2026-04-28 20:50:05 -07:00
2026-05-08 21:35:27 -07:00
2026-04-17 14:55:06 -07:00
2026-05-08 21:35:27 -07:00
2026-04-14 21:52:49 -07:00
2026-05-11 13:41:33 -07:00
2025-07-19 00:49:56 -07:00
2026-02-08 20:06:32 -08:00
2026-05-03 18:52:45 -07:00
2026-05-08 21:35:27 -07:00
2026-05-08 21:35:27 -07:00
2025-07-18 02:19:50 -07:00
2025-07-18 22:25:58 -07:00
2025-12-29 23:54:00 -08:00
2025-11-20 11:42:22 -08:00
2026-03-28 13:24:11 -07:00
2026-04-17 14:57:59 -07:00
2026-05-11 13:41:33 -07:00
2026-03-28 13:24:11 -07:00
2026-02-16 13:59:13 -08:00
2025-12-09 10:24:35 -08:00
2026-05-03 18:52:45 -07:00
2026-03-09 11:54:32 -07:00
2026-04-20 19:33:22 -07:00
2026-05-07 18:19:42 -07:00
2026-04-03 16:04:27 -07:00
2026-04-25 23:06:37 -07:00
2025-11-18 23:18:35 -08:00
2026-01-07 13:06:08 -08:00
2026-03-30 12:11:30 -07:00
2026-05-05 19:14:44 -07:00
2026-05-05 19:14:44 -07:00
2026-02-23 22:59:53 -08:00
2026-04-02 15:59:09 -07:00
2026-04-02 17:37:05 -07:00
2026-05-05 19:14:44 -07:00
2026-02-10 17:57:08 -08:00
2026-02-19 22:52:05 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-02-07 13:27:47 -08:00
2024-07-04 11:00:41 -07:00
2025-08-14 20:38:03 -07:00
2026-04-26 16:31:42 -07:00
2025-09-17 19:04:51 -07:00
2026-05-04 22:10:49 -07:00
2026-03-06 15:22:39 -08:00
2026-05-04 22:10:49 -07:00
2025-07-28 02:49:43 -07:00
2026-01-30 22:57:05 -08:00