]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: elector: return after triggering a new election 33007/head
authorGreg Farnum <gfarnum@redhat.com>
Thu, 30 Jan 2020 12:43:13 +0000 (04:43 -0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 31 Jan 2020 09:45:27 +0000 (10:45 +0100)
When receiving an old propose, we were correctly triggering a new election
but not then returning out of receive_propose(), so we processed the
"should I defer" logic and perhaps sent out a deferal (in the current epoch!).

Fixes: https://tracker.ceph.com/issues/42977
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 337d12ba802d5b31db36be25c3349b9b67ec17ba)

Conflicts:
src/mon/ElectionLogic.cc
- file does not exist in nautilus: made the change manually in
  src/mon/Elector.cc

src/mon/Elector.cc

index 9558809e4294e9c42751ad39e541a514830867af..1e3646050f3068903ac106484f137bd7819fe20d 100644 (file)
@@ -288,8 +288,8 @@ void Elector::handle_propose(MonOpRequestRef op)
       mon->start_election();
     } else {
       dout(5) << " ignoring old propose" << dendl;
-      return;
     }
+    return;
   }
 
   if (mon->rank < from) {