]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: update last_added_entry when count == num_entries 45458/head
authorPeng Zhang <zhangpeng@vclusters.com>
Fri, 2 Jul 2021 06:13:50 +0000 (14:13 +0800)
committerCory Snyder <csnyder@iland.com>
Wed, 16 Mar 2022 18:27:32 +0000 (14:27 -0400)
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 <zhangpeng@vclusters.com>
(cherry picked from commit 7511f9f675ea4e43992605dc03109bc5f356a5e1)

src/rgw/rgw_rados.cc

index a677613793fb4ea3484c6743367605e9dfe3d065..c469f22b590fb379a10439b391f978b61e33a377 100644 (file)
@@ -8690,6 +8690,7 @@ int RGWRados::cls_bucket_list_unordered(RGWBucketInfo& bucket_info,
          ent_list.emplace_back(std::move(dirent));
          ++count;
        } else {
+         last_added_entry = dirent.key;
          *is_truncated = true;
          goto check_updates;
        }