From 5a450e6734b4ff9e5e483c74b67df385b9a3d640 Mon Sep 17 00:00:00 2001 From: shawn Date: Tue, 26 Jan 2016 05:56:12 -0500 Subject: [PATCH] mon: add mon_config_key prefix when sync full Signed-off-by: Xiaowei Chen (cherry picked from commit b77cd31b161e78467bbb6476776c0f1d43e615cf) --- src/mon/ConfigKeyService.cc | 5 +++++ src/mon/ConfigKeyService.h | 2 +- src/mon/Monitor.cc | 8 +++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/mon/ConfigKeyService.cc b/src/mon/ConfigKeyService.cc index 97126ed0d1f0e..210ff7c23d0f5 100644 --- a/src/mon/ConfigKeyService.cc +++ b/src/mon/ConfigKeyService.cc @@ -45,6 +45,11 @@ int ConfigKeyService::store_get(string key, bufferlist &bl) return mon->store->get(STORE_PREFIX, key, bl); } +void ConfigKeyService::get_store_prefixes(set& s) +{ + s.insert(STORE_PREFIX); +} + void ConfigKeyService::store_put(string key, bufferlist &bl, Context *cb) { bufferlist proposal_bl; diff --git a/src/mon/ConfigKeyService.h b/src/mon/ConfigKeyService.h index e33070b65bc3e..80b313eff55c8 100644 --- a/src/mon/ConfigKeyService.h +++ b/src/mon/ConfigKeyService.h @@ -69,7 +69,7 @@ public: virtual string get_name() const { return "config_key"; } - + virtual void get_store_prefixes(set& s); /** * @} // ConfigKeyService_Inherited_h */ diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 4a34283e0d9d6..d62d7cf1e1cc4 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1021,7 +1021,9 @@ set Monitor::get_sync_targets_names() targets.insert(paxos->get_name()); for (int i = 0; i < PAXOS_NUM; ++i) paxos_service[i]->get_store_prefixes(targets); - + ConfigKeyService *config_key_service_ptr = dynamic_cast(config_key_service); + assert(config_key_service_ptr); + config_key_service_ptr->get_store_prefixes(targets); return targets; } @@ -1692,7 +1694,7 @@ void Monitor::handle_probe_reply(MMonProbe *m) } else { if (paxos->get_version() < m->paxos_first_version && m->paxos_first_version > 1) { // no need to sync if we're 0 and they start at 1. - dout(10) << " peer paxos versions [" << m->paxos_first_version + dout(10) << " peer paxos first versions [" << m->paxos_first_version << "," << m->paxos_last_version << "]" << " vs my version " << paxos->get_version() << " (too far ahead)" @@ -1703,7 +1705,7 @@ void Monitor::handle_probe_reply(MMonProbe *m) return; } if (paxos->get_version() + g_conf->paxos_max_join_drift < m->paxos_last_version) { - dout(10) << " peer paxos version " << m->paxos_last_version + dout(10) << " peer paxos last version " << m->paxos_last_version << " vs my version " << paxos->get_version() << " (too far ahead)" << dendl; -- 2.39.5