diff options
author | Seena Fallah <seenafallah@gmail.com> | 2024-10-28 02:06:53 +0100 |
---|---|---|
committer | Seena Fallah <seenafallah@gmail.com> | 2025-01-15 20:57:49 +0100 |
commit | f54176f28c600102f928d970973466f5b9c17ce4 (patch) | |
tree | c2403485b681d774071e9de142ea4c12651d71b7 | |
parent | Merge pull request #60847 from cbodley/wip-rgw-boto-headbucket-stats (diff) | |
download | ceph-f54176f28c600102f928d970973466f5b9c17ce4.tar.xz ceph-f54176f28c600102f928d970973466f5b9c17ce4.zip |
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 <seenafallah@gmail.com>
-rw-r--r-- | src/rgw/driver/rados/rgw_rest_log.cc | 2 | ||||
-rw-r--r-- | src/rgw/radosgw-admin/sync_checkpoint.cc | 1 |
2 files changed, 2 insertions, 1 deletions
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) { |