]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: add mon_config_key prefix when sync full 7576/head
authorshawn <cxwshawn@gmail.com>
Tue, 26 Jan 2016 10:56:12 +0000 (05:56 -0500)
committerLoic Dachary <ldachary@redhat.com>
Tue, 9 Feb 2016 06:31:17 +0000 (13:31 +0700)
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit b77cd31b161e78467bbb6476776c0f1d43e615cf)

src/mon/ConfigKeyService.cc
src/mon/ConfigKeyService.h
src/mon/Monitor.cc

index 97126ed0d1f0edd34da8b176da64e3fa8e7073aa..210ff7c23d0f5526f2a6ecad4d0b778c0cea8e1f 100644 (file)
@@ -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<string>& s)
+{
+  s.insert(STORE_PREFIX);
+}
+
 void ConfigKeyService::store_put(string key, bufferlist &bl, Context *cb)
 {
   bufferlist proposal_bl;
index e33070b65bc3ee3387bd66115eca2d45bb84699d..80b313eff55c844feae45bff3e3f51f4db068105 100644 (file)
@@ -69,7 +69,7 @@ public:
   virtual string get_name() const {
     return "config_key";
   }
-
+  virtual void get_store_prefixes(set<string>& s);
   /**
    * @} // ConfigKeyService_Inherited_h
    */
index 4a34283e0d9d6f9aafd37bd5d5ce334ea02af06e..d62d7cf1e1cc4379f7745431a0d9807e182cd67a 100644 (file)
@@ -1021,7 +1021,9 @@ set<string> 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<ConfigKeyService*>(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;