From 414cb3ea767c6bf3a27c7eb7bd05ceda4476b2ce Mon Sep 17 00:00:00 2001 From: Shilpa Jagannath Date: Fri, 21 May 2021 12:17:49 +0530 Subject: [PATCH] rgw: on bucket reshard, write datalog entries for each shard of the previous generation Signed-off-by: Shilpa Jagannath --- src/rgw/rgw_reshard.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/rgw/rgw_reshard.cc b/src/rgw/rgw_reshard.cc index 8ae8f843d1576..740034b8b05db 100644 --- a/src/rgw/rgw_reshard.cc +++ b/src/rgw/rgw_reshard.cc @@ -495,6 +495,17 @@ static int commit_reshard(rgw::sal::RadosStore* store, return ret; } + if (store->svc()->zone->need_to_log_data()) { + for (uint32_t shard_id = 0; shard_id < prev.current_index.layout.normal.num_shards; ++shard_id) { + ret = store->svc()->datalog_rados->add_entry(dpp, bucket_info, prev.logs.back(), shard_id); + if (ret < 0) { + ldpp_dout(dpp, 1) << "WARNING: failed writing data log (bucket_info.bucket=" + << bucket_info.bucket << ", shard_id=" << shard_id << "of generation=" + << prev.logs.back().gen << ")" << dendl; + } + } + } + // on success, delete index shard objects from the old layout (ignore errors) if (remove_index) { store->svc()->bi->clean_index(dpp, bucket_info, prev.current_index); -- 2.39.5