]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw: allow reshard log entries for non-existent buckets to be cancelled 33302/head
authorJ. Eric Ivancich <ivancich@redhat.com>
Tue, 29 Oct 2019 23:25:51 +0000 (19:25 -0400)
committerNathan Cutler <ncutler@suse.com>
Fri, 14 Feb 2020 09:48:35 +0000 (10:48 +0100)
commitab02c0161879c998e9750b59d94cf00192cc6605
treeabd028bc657ee11a108b5337adb791f90da2f411
parentcb8591cc400f2786f9101b089a932d3a6d980aa7
rgw: allow reshard log entries for non-existent buckets to be cancelled

The radosgw-admin tool allows admins to add buckets to the reshard log
and to cancel buckets from the reshard log. Both operations check for
the existence of the bucket before proceeding and fail for nonexistent
buckets.

It's possible, however, for an admin to add a bucket to the reshard
log and then, before the bucket is resharded, for a user to delete the
bucket. This leaves the entry in the reshard log.

Prior to this commit an attempt to use radosgw-admin to cancel the
reshard log entry would fail. With this commit it will still fail
*but* notify the user they can use the --yes-i-really-mean-it
command-line option to do it nonetheless. And if the user includes
that option, it will succeed.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 9f893a7398716127711a0baaa937070a495a7a56)

Conflicts:
src/rgw/rgw_admin.cc
- mimic has "g_conf->rgw_reshard_bucket_lock_duration" where master has
  store->ctx()->_conf.get_val<uint64_t>("rgw_reshard_bucket_lock_duration")
src/rgw/rgw_admin.cc