From: Peng Zhang Date: Fri, 2 Jul 2021 06:13:50 +0000 (+0800) Subject: rgw: update last_added_entry when count == num_entries X-Git-Tag: v16.2.8~90^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F45457%2Fhead;p=ceph.git rgw: update last_added_entry when count == num_entries RGWRados::cls_bucket_list_unordered() will produce one redundent entry every time is_truncated is true.The issue could be easily reproduced when a bucket is filled with amounts of incomplete multipart upload. To be more specific, the number of incomplete multipart upload objects should be greater than 1100. Signed-off-by: Peng Zhang (cherry picked from commit 7511f9f675ea4e43992605dc03109bc5f356a5e1) --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index b9f3e08f59e0..69b593137c77 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -8760,6 +8760,7 @@ int RGWRados::cls_bucket_list_unordered(const DoutPrefixProvider *dpp, ent_list.emplace_back(std::move(dirent)); ++count; } else { + last_added_entry = dirent.key; *is_truncated = true; goto check_updates; }