From e2bf9de65387aaaa54ec6b5744b732ee4057c5fa Mon Sep 17 00:00:00 2001 From: Shilpa Jagannath Date: Mon, 30 Sep 2024 18:35:47 -0400 Subject: [PATCH] rgw/multisite: don't sync metadata entry for bucket instance removal. removal should happen locally Signed-off-by: Shilpa Jagannath --- src/rgw/driver/rados/rgw_bucket.cc | 18 +----------------- src/rgw/rgw_metadata.cc | 2 -- src/rgw/services/svc_bucket_sobj.cc | 3 +-- 3 files changed, 2 insertions(+), 21 deletions(-) diff --git a/src/rgw/driver/rados/rgw_bucket.cc b/src/rgw/driver/rados/rgw_bucket.cc index 4a6ed6b6d17b4..743187bb79e7b 100644 --- a/src/rgw/driver/rados/rgw_bucket.cc +++ b/src/rgw/driver/rados/rgw_bucket.cc @@ -2975,23 +2975,7 @@ int RGWBucketInstanceMetadataHandler::put_post( int RGWBucketInstanceMetadataHandler::remove(std::string& entry, RGWObjVersionTracker& objv_tracker, optional_yield y, const DoutPrefixProvider *dpp) { - RGWBucketCompleteInfo bci; - int ret = svc_bucket->read_bucket_instance_info(entry, &bci.info, nullptr, - &bci.attrs, y, dpp); - if (ret == -ENOENT) { - return 0; - } - if (ret < 0) { - return ret; - } - - ret = svc_bucket->remove_bucket_instance_info( - entry, bci.info, &bci.info.objv_tracker, y, dpp); - if (ret < 0) - return ret; - std::ignore = update_bucket_topic_mappings(dpp, &bci, /*current_bci=*/nullptr, - driver); - return 0; + return 0; // skip bucket instance removal. each zone will handle it independently during trimming } int RGWBucketInstanceMetadataHandler::mutate(const std::string& entry, const ceph::real_time& mtime, diff --git a/src/rgw/rgw_metadata.cc b/src/rgw/rgw_metadata.cc index 2323bd1d1579a..d84ff16f71117 100644 --- a/src/rgw/rgw_metadata.cc +++ b/src/rgw/rgw_metadata.cc @@ -353,14 +353,12 @@ int RGWMetadataManager::remove(string& metadata_key, optional_yield y, const Dou int ret = find_handler(metadata_key, &handler, entry); if (ret < 0) { - ldout(cct, 10) << "ERROR: " << __func__ << "(): find_handler returned: ret=" << ret << dendl; return ret; } RGWMetadataObject *obj; ret = handler->get(entry, &obj, y, dpp); if (ret < 0) { - ldout(cct, 10) << "ERROR: " << __func__ << "(): handler->get() returned: ret=" << ret << dendl; return ret; } RGWObjVersionTracker objv_tracker; diff --git a/src/rgw/services/svc_bucket_sobj.cc b/src/rgw/services/svc_bucket_sobj.cc index 0f4cd4e847b5a..86416afc491c1 100644 --- a/src/rgw/services/svc_bucket_sobj.cc +++ b/src/rgw/services/svc_bucket_sobj.cc @@ -526,8 +526,7 @@ int RGWSI_Bucket_SObj::remove_bucket_instance_info(const string& key, */ } - return svc.mdlog->complete_entry(dpp, y, "bucket.instance", - key, objv_tracker); + return 0; } int RGWSI_Bucket_SObj::read_bucket_stats(const RGWBucketInfo& bucket_info, -- 2.39.5