]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: don't update pending service map epoch on receiving map from mon 36964/head
authorMykola Golub <mgolub@suse.com>
Wed, 2 Sep 2020 13:19:54 +0000 (14:19 +0100)
committerMykola Golub <mgolub@suse.com>
Wed, 2 Sep 2020 17:49:04 +0000 (18:49 +0100)
It may still be an older service map.

Fixes: https://tracker.ceph.com/issues/47275
Signed-off-by: Mykola Golub <mgolub@suse.com>
src/mgr/DaemonServer.cc

index 99f255ec2e686c2152d2af55733c3b51ab07fdf1..502496ab4564b6422ff4462d9637ecf1347816c4 100644 (file)
@@ -2809,12 +2809,13 @@ void DaemonServer::got_service_map()
        // we just started up
        dout(10) << "got initial map e" << service_map.epoch << dendl;
        pending_service_map = service_map;
+       pending_service_map.epoch = service_map.epoch + 1;
       } else {
        // we we already active and therefore must have persisted it,
        // which means ours is the same or newer.
        dout(10) << "got updated map e" << service_map.epoch << dendl;
+       ceph_assert(pending_service_map.epoch > service_map.epoch);
       }
-      pending_service_map.epoch = service_map.epoch + 1;
     });
 
   // cull missing daemons, populate new ones