From 4015a57c473d896164b0617be93777d0947a9576 Mon Sep 17 00:00:00 2001 From: Abhishek Lekshmanan Date: Thu, 9 Nov 2017 15:50:56 +0100 Subject: [PATCH] rgw: data sync: set num_shards when building full maps When radosgw-admin data sync init is called on a cluster, the next run of rgw crashes as when it processes ListBucketIndexesCR, num_shards isn't set which is later referenced in ListBucketIndexesCR. Setting the n sync_info.num_shards correctly to handle this case Fixes: http://tracker.ceph.com/issues/22083 Signed-off-by: Abhishek Lekshmanan --- src/rgw/rgw_data_sync.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index af6cfd2ff10..4fd275a6783 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -1568,6 +1568,7 @@ public: if ((rgw_data_sync_info::SyncState)sync_status.sync_info.state == rgw_data_sync_info::StateBuildingFullSyncMaps) { tn->log(10, SSTR("building full sync maps")); /* call sync module init here */ + sync_status.sync_info.num_shards = num_shards; yield call(data_sync_module->init_sync(sync_env)); if (retcode < 0) { tn->log(0, SSTR("ERROR: sync module init_sync() failed, retcode=" << retcode)); -- 2.39.5