From 2633d71dbde63252ea2ed8bae493297aaa59731e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 11 Nov 2011 12:22:09 -0800 Subject: [PATCH] mon: only re bootstrap if monmap actually changes If we go thru here just to update latest, that's fine; no need to restart the bootstrap process. Signed-off-by: Sage Weil --- src/mon/MonmapMonitor.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index f1bc3681031..2ca54ca8ab7 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -55,6 +55,8 @@ bool MonmapMonitor::update_from_paxos() dout(10) << "update_from_paxos paxosv " << paxosv << ", my v " << mon->monmap->epoch << dendl; + bool need_restart = paxosv != mon->monmap->get_epoch(); + if (paxosv > 0 && (mon->monmap->get_epoch() == 0 || paxos->get_latest_version() != paxosv)) { bufferlist latest; @@ -93,7 +95,8 @@ bool MonmapMonitor::update_from_paxos() mon->rank = rank; } - mon->bootstrap(); + if (need_restart) + mon->bootstrap(); return true; }