From f54176f28c600102f928d970973466f5b9c17ce4 Mon Sep 17 00:00:00 2001 From: Seena Fallah Date: Mon, 28 Oct 2024 02:06:53 +0100 Subject: rgw: set dest bucket id in bucket sync checkpoint 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 --- src/rgw/driver/rados/rgw_rest_log.cc | 2 +- src/rgw/radosgw-admin/sync_checkpoint.cc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rgw/driver/rados/rgw_rest_log.cc b/src/rgw/driver/rados/rgw_rest_log.cc index 9315dfc0afd..72216a471b3 100644 --- a/src/rgw/driver/rados/rgw_rest_log.cc +++ b/src/rgw/driver/rados/rgw_rest_log.cc @@ -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; } diff --git a/src/rgw/radosgw-admin/sync_checkpoint.cc b/src/rgw/radosgw-admin/sync_checkpoint.cc index 0303ed6c747..97da99bdc27 100644 --- a/src/rgw/radosgw-admin/sync_checkpoint.cc +++ b/src/rgw/radosgw-admin/sync_checkpoint.cc @@ -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) { -- cgit v1.2.3