From 0e2217a592d6eed27a9c863137437ca5c3009a5f 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 89f80e119eb4b..672b4b9c8e2c1 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