]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mon: re-bootstrap if we get probed by a mon that is way ahead 2804/head
authorSage Weil <sage@redhat.com>
Thu, 18 Sep 2014 21:23:36 +0000 (14:23 -0700)
committerSage Weil <sage@redhat.com>
Mon, 27 Oct 2014 03:45:09 +0000 (20:45 -0700)
commita6c02a18d6249ea62cf7a74710c8d0192b6eecaa
tree240d3b61b31d9f8c941c97b1ae824181999bb9a5
parent92d2a38efd458f9e8f4da228ea1e94df08dc8222
mon: re-bootstrap if we get probed by a mon that is way ahead

During bootstrap we verify that our paxos commits overlap with the other
mons we will form a quorum with.  If they do not, we do a sync.

However, it is possible we pass those checks, then fail to join a quorum
before the quorum moves ahead in time such that we no longer overlap.
Currently nothing kicks up back into a probing state to discover we need
to sync... we will just keep trying to call or join an election instead.

Fix this by jumping back to bootstrap if we get a probe that is ahead of
us.  Only do this from non probe or sync states as these will be common;
it is only the active and electing states that matter (and probably just
electing!).

Fixes: #9301
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c421b55e8e15ef04ca8aeb47f7d090375eaa8573)
src/mon/Monitor.cc