]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mon: once sync full is chosen, make sure we don't change our mind
authorSage Weil <sage@inktank.com>
Mon, 15 Jul 2013 17:05:37 +0000 (10:05 -0700)
committerSage Weil <sage@inktank.com>
Mon, 15 Jul 2013 17:05:37 +0000 (10:05 -0700)
commit8c178e0d39d8d4a4820eb061f79d74f95e60199f
tree787731650d5506099028e4fab0b00b4a642b9545
parent6af0ed9bc4cc955f8c30ad9dc6e9095599f323d0
mon: once sync full is chosen, make sure we don't change our mind

It is possible for a sequence like:

 - probe
 - first probe reply has paxos trim that indicates a full sync is
   needed
 - start sync
 - clear store
 - something happens that makes us abort and bootstrap (e.g., the
   provider mon restarts
 - probe
 - first probe reply has older paxos trim bound and we call an election
 - on election completion, we crash because we have no data.

Non-determinism of the probe decision aside, we need to ensure that
the info we share during probe (fc, lc) is accurate, and that once we
clear the store we know we *must* do a full sync.

This is a backport of aa60f940ec1994a61624345586dc70d261688456.

Fixes: #5621
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/mon/Monitor.cc