]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: data sync: set num_shards when building full maps
authorAbhishek Lekshmanan <abhishek@suse.com>
Thu, 9 Nov 2017 14:50:56 +0000 (15:50 +0100)
committerNathan Cutler <ncutler@suse.com>
Tue, 21 Nov 2017 09:03:19 +0000 (10:03 +0100)
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 <abhishek@suse.com>
(cherry picked from commit 4015a57c473d896164b0617be93777d0947a9576)

src/rgw/rgw_data_sync.cc

index daaffb7cde9eb7b2c10b9eeb9490c7e9c581b588..cc300b4fd37f23c909060c88266cb054cd11f103 100644 (file)
@@ -1481,6 +1481,7 @@ public:
 
       if  ((rgw_data_sync_info::SyncState)sync_status.sync_info.state == rgw_data_sync_info::StateBuildingFullSyncMaps) {
         /* 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) {
           ldout(sync_env->cct, 0) << "ERROR: sync module init_sync() failed, retcode=" << retcode << dendl;