From: shawn Date: Tue, 26 Jan 2016 10:56:12 +0000 (-0500) Subject: mon: add mon_config_key prefix when sync full X-Git-Tag: v10.0.4~100^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b77cd31b161e78467bbb6476776c0f1d43e615cf;p=ceph.git mon: add mon_config_key prefix when sync full Signed-off-by: Xiaowei Chen --- diff --git a/src/mon/ConfigKeyService.cc b/src/mon/ConfigKeyService.cc index 84e95efd3c3b..82b2c7b2ddbf 100644 --- a/src/mon/ConfigKeyService.cc +++ b/src/mon/ConfigKeyService.cc @@ -42,6 +42,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 0ceface9b0ef..fe1d54d5ea57 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 35726cdc239d..a1f58e5fecea 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1053,7 +1053,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; } @@ -1722,7 +1724,7 @@ void Monitor::handle_probe_reply(MonOpRequestRef op) } 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)" @@ -1732,7 +1734,7 @@ void Monitor::handle_probe_reply(MonOpRequestRef op) 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;