]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/notification: Do not block sending replication notification events for processing... 58197/head
authorkchheda3 <kchheda3@bloomberg.net>
Wed, 24 Apr 2024 16:36:44 +0000 (12:36 -0400)
committerYuval Lifshitz <ylifshit@ibm.com>
Thu, 18 Jul 2024 14:28:38 +0000 (14:28 +0000)
This was the behavior prior to https://github.com/ceph/ceph/pull/55795, however while refactoring this behavior was changed, hence revert back the logic to not send the events if the obj_tag decoding fails.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit 02295f90ec52cab10eb0599351c60251a03f79f8)

src/rgw/driver/rados/rgw_cr_rados.cc
src/rgw/rgw_lc.cc

index 396c556926f3e9858281176f96467aba334f18b2..db60ccb7b7c4cfdcbd385c18137f75e590309a99 100644 (file)
@@ -717,13 +717,13 @@ int RGWRadosBILogTrimCR::request_complete()
   return r;
 }
 
-int send_sync_notification(const DoutPrefixProvider* dpp,
-                           rgw::sal::RadosStore* store,
-                           rgw::sal::Bucket* bucket,
-                           rgw::sal::Object* obj,
-                           const rgw::sal::Attrs& attrs,
-                           uint64_t obj_size,
-                           const rgw::notify::EventTypeList& event_types) {
+void send_sync_notification(const DoutPrefixProvider* dpp,
+                            rgw::sal::RadosStore* store,
+                            rgw::sal::Bucket* bucket,
+                            rgw::sal::Object* obj,
+                            const rgw::sal::Attrs& attrs,
+                            uint64_t obj_size,
+                            const rgw::notify::EventTypeList& event_types) {
   // send notification that object was successfully synced
   std::string user_id = "rgw sync";
   std::string req_id = "0";
@@ -738,7 +738,6 @@ int send_sync_notification(const DoutPrefixProvider* dpp,
       ldpp_dout(dpp, 1) << "ERROR: " << __func__
                         << ": caught buffer::error couldn't decode TagSet "
                         << dendl;
-      return -EIO;
     }
   }
   // bucket attrs are required for notification and since its not loaded,
@@ -748,7 +747,7 @@ int send_sync_notification(const DoutPrefixProvider* dpp,
     ldpp_dout(dpp, 1) << "ERROR: failed to load bucket attrs for bucket:"
                       << bucket->get_name() << " with error ret= " << r
                       << " . Not sending notification" << dendl;
-    return r;
+    return;
   }
   rgw::notify::reservation_t notify_res(dpp, store, obj, nullptr, bucket,
                                         user_id, bucket->get_tenant(), req_id,
@@ -772,7 +771,6 @@ int send_sync_notification(const DoutPrefixProvider* dpp,
                         << ret << dendl;
     }
   }
-  return ret;
 }
 
 int RGWAsyncFetchRemoteObj::_send_request(const DoutPrefixProvider *dpp)
index cb1b92a04e7b6846dc4f3d854ae25fd7ca937526..a91b8301397231d4df4b0b6a5eadf476ba46406d 100644 (file)
@@ -1413,7 +1413,6 @@ public:
     if (iter != obj_state->attrset.end()) {
       etag = rgw_bl_str(iter->second);
     }
-<<<<<<< HEAD
 
     rgw::notify::EventTypeList event_types;
     if (bucket->versioned() && oc.o.is_current() && !oc.o.is_delete_marker()) {