]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw: make incomplete multipart upload part of bucket check efficient 57083/head
authorJ. Eric Ivancich <ivancich@redhat.com>
Wed, 24 Apr 2024 22:05:33 +0000 (18:05 -0400)
committerJ. Eric Ivancich <ivancich@redhat.com>
Tue, 30 Apr 2024 16:01:13 +0000 (12:01 -0400)
commitebe98934cd69a32abb3ddafc1fa94b40dfa6844c
tree4aab88243ea4e6837a63b0021948c5f86e55517d
parent7324aeb83000b3b686e47c76e0476dcf6829d43e
rgw: make incomplete multipart upload part of bucket check efficient

Previously the incomplete multipart portion of bucket check would list
all entries in the _multipart_ namespace across all shards and then
analyze them in memory before taking further action.

Since all index entries for a given multipart upload are all on the
same shard by design, we can work on this asynchronously shard by
shard. Furthermore since all entries for a given multipart upload are
sequential in the bucket index, we can use a small window to analyze
each of the uploads.

This should make the operation quicker and use much less memory in the
worst cases.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
src/rgw/driver/rados/rgw_bucket.cc
src/rgw/driver/rados/rgw_bucket.h