]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw/notification: read object size from the rados obj when populate sync notification
authorJane Zhu <jzhu116@bloomberg.net>
Mon, 1 May 2023 02:20:16 +0000 (22:20 -0400)
committerJuan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
Mon, 11 Sep 2023 03:11:54 +0000 (23:11 -0400)
Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
(cherry picked from commit 31a390bb6baddb1ca26ccf96dc42a4628ae8a0e7)

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

index 25d1e9a9dca282a9ea8373c7a8aacb5481848cff..d8e0ecba63e18a25fb0c35e29fdd16da31b87e7e 100644 (file)
@@ -814,7 +814,7 @@ int RGWAsyncFetchRemoteObj::_send_request(const DoutPrefixProvider *dpp)
           ldpp_dout(dpp, 1) << "ERROR: reserving notification failed, with error: " << ret << dendl;
           // no need to return, the sync already happened
         } else {
-          ret = rgw::notify::publish_commit(&dest_obj, dest_obj.get_obj_size(), ceph::real_clock::now(), etag, dest_obj.get_instance(), rgw::notify::ObjectSyncedCreate, notify_res, dpp);
+          ret = rgw::notify::publish_commit(&dest_obj, *bytes_transferred, ceph::real_clock::now(), etag, dest_obj.get_instance(), rgw::notify::ObjectSyncedCreate, notify_res, dpp);
           if (ret < 0) {
             ldpp_dout(dpp, 1) << "ERROR: publishing notification failed, with error: " << ret << dendl;
           }
index 0821e69a9391127daacd1f2c2253fb4375d5396b..1a1f9dd59f25d7fbbc5c613395e41e6a02bd460e 100644 (file)
@@ -690,7 +690,8 @@ static inline void populate_event(reservation_t& res,
   event.x_amz_id_2 = res.store->getRados()->host_id; // RGW on which the change was made
   // configurationId is filled from notification configuration
   event.bucket_name = res.bucket->get_name();
-  event.bucket_ownerIdentity = res.bucket->get_owner() ? res.bucket->get_owner()->get_id().id : "";
+  event.bucket_ownerIdentity = res.bucket->get_owner() ?
+    res.bucket->get_owner()->get_id().id : res.bucket->get_info().owner.id;
   const auto region = res.store->get_zone()->get_zonegroup().get_api_name();
   rgw::ARN bucket_arn(res.bucket->get_key());
   bucket_arn.region = region;