From 4b4f2000f45a83b4dad3f2a8fd8392a245a30286 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 6 Sep 2023 16:34:07 +0200 Subject: [PATCH] lifecycle: fix SkipBucket bug --- src/model/s3/lifecycle_worker.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/model/s3/lifecycle_worker.rs b/src/model/s3/lifecycle_worker.rs index 4734742d..42e661eb 100644 --- a/src/model/s3/lifecycle_worker.rs +++ b/src/model/s3/lifecycle_worker.rs @@ -192,11 +192,12 @@ impl Worker for LifecycleWorker { *counter += 1; if skip == Skip::SkipBucket { let bucket_id_len = object.bucket_id.as_slice().len(); - assert_eq!(pos.get(..bucket_id_len), Some(object.bucket_id.as_slice())); - *pos = std::cmp::max( - next_pos, - [&pos[..bucket_id_len], &[0xFFu8][..]].concat(), + assert_eq!( + next_pos.get(..bucket_id_len), + Some(object.bucket_id.as_slice()) ); + let last_bucket_pos = [&next_pos[..bucket_id_len], &[0xFFu8][..]].concat(); + *pos = std::cmp::max(next_pos, last_bucket_pos); } else { *pos = next_pos; }