]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: set dest bucket id in bucket sync checkpoint 61406/head
authorSeena Fallah <seenafallah@gmail.com>
Mon, 28 Oct 2024 01:06:53 +0000 (02:06 +0100)
committerSeena Fallah <seenafallah@gmail.com>
Wed, 15 Jan 2025 19:57:49 +0000 (20:57 +0100)
bucket_source_sync_checkpoint() requires bucket id to lookup for
full-sync object and the dest pipe doesn't have it. by replcaning
the bucket key in the pipe with the bucket info we will ensure the
bucket id is set.

Fixes: https://tracker.ceph.com/issues/69548
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
src/rgw/driver/rados/rgw_rest_log.cc
src/rgw/radosgw-admin/sync_checkpoint.cc

index 9315dfc0afd8af7aab968272ac35f8ca3cb439f1..72216a471b38d8141dc46bd1b22326672e169ec8 100644 (file)
@@ -1061,7 +1061,7 @@ void RGWOp_BILog_Status::execute(optional_yield y)
 
     if (!pipe.dest.bucket) {
       /* Uh oh, something went wrong */
-      ldpp_dout(this, 20) << "ERROR: RGWOp_BILog_Status::execute(optional_yield y): BUG: pipe.dest.bucket was not initialized" << pipe << dendl;
+      ldpp_dout(this, 0) << "ERROR: RGWOp_BILog_Status::execute(optional_yield y): BUG: pipe.dest.bucket was not initialized" << pipe << dendl;
       op_ret = -EIO;
       return;
     }
index 0303ed6c747cfcbcb02f62bddcb98f9e0a88f25c..97da99bdc27be58395cb5f5246256b0b40462545 100644 (file)
@@ -228,6 +228,7 @@ int rgw_bucket_sync_checkpoint(const DoutPrefixProvider* dpp,
     }
     auto& entry = sources.emplace_back();
     entry.pipe = pipe;
+    entry.pipe.dest.bucket = info.bucket; // so it contains the bucket key (+bucket id)
 
     // fetch remote markers
     boost::asio::spawn(ioctx, [&] (boost::asio::yield_context yield) {