You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2014/05/03 01:22:40 UTC

[1/2] git commit: Added a metric for the size of the registry.

Repository: mesos
Updated Branches:
  refs/heads/master 84184f997 -> 554eb7ad3


Added a metric for the size of the registry.

Review: https://reviews.apache.org/r/21021


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/554eb7ad
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/554eb7ad
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/554eb7ad

Branch: refs/heads/master
Commit: 554eb7ad3ff7dd279664e908cb629978e2b7a8b3
Parents: 6dd118f
Author: Benjamin Mahler <bm...@twitter.com>
Authored: Fri May 2 12:03:07 2014 -0700
Committer: Benjamin Mahler <bm...@twitter.com>
Committed: Fri May 2 16:22:22 2014 -0700

----------------------------------------------------------------------
 src/master/registrar.cpp   | 19 +++++++++++++++++--
 src/tests/master_tests.cpp |  1 +
 2 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/554eb7ad/src/master/registrar.cpp
----------------------------------------------------------------------
diff --git a/src/master/registrar.cpp b/src/master/registrar.cpp
index 5d9dfed..ab1fb88 100644
--- a/src/master/registrar.cpp
+++ b/src/master/registrar.cpp
@@ -131,12 +131,16 @@ private:
   {
     explicit Metrics(const RegistrarProcess& process)
       : queued_operations(
-          "registrar/queued_operations",
-          defer(process, &RegistrarProcess::_queued_operations)),
+            "registrar/queued_operations",
+            defer(process, &RegistrarProcess::_queued_operations)),
+        registry_size_bytes(
+            "registrar/registry_size_bytes",
+            defer(process, &RegistrarProcess::_registry_size_bytes)),
         state_fetch("registrar/state_fetch"),
         state_store("registrar/state_store", Days(1))
     {
       process::metrics::add(queued_operations);
+      process::metrics::add(registry_size_bytes);
 
       process::metrics::add(state_fetch);
       process::metrics::add(state_store);
@@ -145,12 +149,14 @@ private:
     ~Metrics()
     {
       process::metrics::remove(queued_operations);
+      process::metrics::remove(registry_size_bytes);
 
       process::metrics::remove(state_fetch);
       process::metrics::remove(state_store);
     }
 
     Gauge queued_operations;
+    Gauge registry_size_bytes;
 
     Timer<Milliseconds> state_fetch;
     Timer<Milliseconds> state_store;
@@ -162,6 +168,15 @@ private:
     return operations.size();
   }
 
+  Future<double> _registry_size_bytes()
+  {
+    if (variable.isSome()) {
+      return variable.get().get().ByteSize();
+    }
+
+    return Failure("Not recovered yet");
+  }
+
   // Continuations.
   void _recover(
       const MasterInfo& info,

http://git-wip-us.apache.org/repos/asf/mesos/blob/554eb7ad/src/tests/master_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_tests.cpp b/src/tests/master_tests.cpp
index 65779a7..534afee 100644
--- a/src/tests/master_tests.cpp
+++ b/src/tests/master_tests.cpp
@@ -1291,6 +1291,7 @@ TEST_F(MasterTest, MetricsInStatsEndpoint)
   EXPECT_EQ(1u, stats.values.count("master/recovery_slave_removals"));
 
   EXPECT_EQ(1u, stats.values.count("registrar/queued_operations"));
+  EXPECT_EQ(1u, stats.values.count("registrar/registry_size_bytes"));
 
   EXPECT_EQ(1u, stats.values.count("registrar/state_fetch_ms"));
   EXPECT_EQ(1u, stats.values.count("registrar/state_store_ms"));


[2/2] git commit: Changed --registry flag from "log_storage" to "replicated_log" to be more descriptive.

Posted by bm...@apache.org.
Changed --registry flag from "log_storage" to "replicated_log" to be more descriptive.

Review: https://reviews.apache.org/r/21019


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6dd118f9
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6dd118f9
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6dd118f9

Branch: refs/heads/master
Commit: 6dd118f9e36d2b2bb459343b54bcd762497fa968
Parents: 84184f9
Author: Benjamin Mahler <bm...@twitter.com>
Authored: Fri May 2 11:37:41 2014 -0700
Committer: Benjamin Mahler <bm...@twitter.com>
Committed: Fri May 2 16:22:22 2014 -0700

----------------------------------------------------------------------
 src/local/local.cpp     |  8 ++++----
 src/master/flags.hpp    | 10 +++++-----
 src/master/main.cpp     | 19 +++++++++++--------
 src/tests/cluster.hpp   | 14 +++++++-------
 src/tests/mesos.cpp     |  4 ++--
 src/tests/mesos.hpp     |  4 ++--
 src/tests/script.cpp    |  4 ++--
 src/zookeeper/group.cpp |  2 +-
 8 files changed, 34 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/local/local.cpp
----------------------------------------------------------------------
diff --git a/src/local/local.cpp b/src/local/local.cpp
index c9ebadc..5d26aff 100644
--- a/src/local/local.cpp
+++ b/src/local/local.cpp
@@ -128,15 +128,15 @@ PID<Master> launch(const Flags& flags, Allocator* _allocator)
                 << " based registry";
       }
       storage = new state::InMemoryStorage();
-    } else if (flags.registry == "log_storage") {
+    } else if (flags.registry == "replicated_log") {
       if (flags.work_dir.isNone()) {
-        EXIT(1) << "Need to specify --work_dir for log storage based registry";
+        EXIT(1) << "--work_dir needed for replicated log based registry";
       }
 
-      // TODO(vinod): Add support for log storage with ZooKeeper.
+      // TODO(vinod): Add support for replicated log with ZooKeeper.
       log = new Log(
           1,
-          path::join(flags.work_dir.get(), "log_storage"),
+          path::join(flags.work_dir.get(), "replicated_log"),
           set<UPID>(),
           flags.log_auto_initialize);
       storage = new state::LogStorage(log);

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/master/flags.hpp
----------------------------------------------------------------------
diff --git a/src/master/flags.hpp b/src/master/flags.hpp
index 56e2459..60606ac 100644
--- a/src/master/flags.hpp
+++ b/src/master/flags.hpp
@@ -59,15 +59,15 @@ public:
     add(&Flags::registry,
         "registry",
         "Persistence strategy for the registry;\n"
-        "available options are 'in_memory', 'log_storage'.",
+        "available options are 'in_memory', 'replicated_log'.",
         "in_memory");
 
     // TODO(vinod): Instead of specifying the quorum size consider
     // specifying the number of masters or the list of masters.
     add(&Flags::quorum,
         "quorum",
-        "The size of the quorum of replicas when using 'log_storage' based\n"
-        "Registry. It is imperative to set this value to be a majority of\n"
+        "The size of the quorum of replicas when using 'replicated_log' based\n"
+        "registry. It is imperative to set this value to be a majority of\n"
         "masters i.e., quorum > (number of masters)/2.");
 
     add(&Flags::zk_session_timeout,
@@ -101,8 +101,8 @@ public:
 
     add(&Flags::log_auto_initialize,
         "log_auto_initialize",
-        "Whether to automatically initialize the log storage used by the\n"
-        "Registry. If this is set to false, the log has to be manually\n"
+        "Whether to automatically initialize the replicated log used for the\n"
+        "registry. If this is set to false, the log has to be manually\n"
         "initialized when used for the very first time.",
         true);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/master/main.cpp
----------------------------------------------------------------------
diff --git a/src/master/main.cpp b/src/master/main.cpp
index 487db20..8ceaae6 100644
--- a/src/master/main.cpp
+++ b/src/master/main.cpp
@@ -173,19 +173,22 @@ int main(int argc, char** argv)
               << " based registry";
     }
     storage = new state::InMemoryStorage();
-  } else if (flags.registry == "log_storage") {
+  } else if (flags.registry == "replicated_log" ||
+             flags.registry == "log_storage") {
+    // TODO(bmahler): "log_storage" is present for backwards
+    // compatibility, can be removed before 0.19.0.
     if (flags.work_dir.isNone()) {
-      EXIT(1) << "Need to specify --work_dir for log storage based registry";
+      EXIT(1) << "--work_dir needed for replicated log based registry";
     }
 
     if (zk.isSome()) {
-      // Use log storage with ZooKeeper.
+      // Use replicated log with ZooKeeper.
       if (flags.quorum.isNone()) {
-        EXIT(1) << "Need to specify --quorum for log storage based registry"
+        EXIT(1) << "Need to specify --quorum for replicated log based registry"
                 << " when using ZooKeeper";
       }
 
-      // TODO(vinod): Add support for "--zk=file://" for log storage.
+      // TODO(vinod): Add support for "--zk=file://".
       Try<URL> url = URL::parse(zk.get());
       if (url.isError()) {
         EXIT(1) << "Error parsing ZooKeeper URL: " << url.error();
@@ -193,17 +196,17 @@ int main(int argc, char** argv)
 
       log = new Log(
           flags.quorum.get(),
-          path::join(flags.work_dir.get(), "log_storage"),
+          path::join(flags.work_dir.get(), "replicated_log"),
           url.get().servers,
           flags.zk_session_timeout,
           path::join(url.get().path, "log_replicas"),
           url.get().authentication,
           flags.log_auto_initialize);
     } else {
-      // Use log storage without ZooKeeper.
+      // Use replicated log without ZooKeeper.
       log = new Log(
           1,
-          path::join(flags.work_dir.get(), "log_storage"),
+          path::join(flags.work_dir.get(), "replicated_log"),
           set<UPID>(),
           flags.log_auto_initialize);
     }

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/tests/cluster.hpp
----------------------------------------------------------------------
diff --git a/src/tests/cluster.hpp b/src/tests/cluster.hpp
index 9e55e11..94034c2 100644
--- a/src/tests/cluster.hpp
+++ b/src/tests/cluster.hpp
@@ -301,22 +301,22 @@ inline Try<process::PID<master::Master> > Cluster::Masters::start(
           " registry");
     }
     master.storage = new state::InMemoryStorage();
-  } else if (flags.registry == "log_storage") {
+  } else if (flags.registry == "replicated_log") {
     if (flags.work_dir.isNone()) {
       return Error(
-          "Need to specify --work_dir for log storage based registry");
+          "Need to specify --work_dir for replicated log based registry");
     }
 
     if (url.isSome()) {
-      // Use ZooKeeper based log storage.
+      // Use ZooKeeper based replicated log.
       if (flags.quorum.isNone()) {
         return Error(
-            "Need to specify --quorum for log storage based registry when using"
-            " ZooKeeper");
+            "Need to specify --quorum for replicated log based registry"
+            " when using ZooKeeper");
       }
       master.log = new log::Log(
           flags.quorum.get(),
-          path::join(flags.work_dir.get(), "log_storage"),
+          path::join(flags.work_dir.get(), "replicated_log"),
           url.get().servers,
           flags.zk_session_timeout,
           path::join(url.get().path, "log_replicas"),
@@ -325,7 +325,7 @@ inline Try<process::PID<master::Master> > Cluster::Masters::start(
     } else {
       master.log = new log::Log(
           1,
-          path::join(flags.work_dir.get(), "log_storage"),
+          path::join(flags.work_dir.get(), "replicated_log"),
           std::set<process::UPID>(),
           flags.log_auto_initialize);
     }

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/tests/mesos.cpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.cpp b/src/tests/mesos.cpp
index 29a968d..d1184e6 100644
--- a/src/tests/mesos.cpp
+++ b/src/tests/mesos.cpp
@@ -75,8 +75,8 @@ master::Flags MesosTest::CreateMasterFlags()
 
   flags.credentials = "file://" + path;
 
-  // Use log storage (without ZooKeeper) by default.
-  flags.registry = "log_storage";
+  // Use the replicated log (without ZooKeeper) by default.
+  flags.registry = "replicated_log";
 
   return flags;
 }

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/tests/mesos.hpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.hpp b/src/tests/mesos.hpp
index 83ce525..ae14caf 100644
--- a/src/tests/mesos.hpp
+++ b/src/tests/mesos.hpp
@@ -234,8 +234,8 @@ protected:
   {
     master::Flags flags = MesosTest::CreateMasterFlags();
 
-    // NOTE: Since we are using ZooKeeper with log storage (default
-    // storage in MesosTest) we need to specify a quorum size.
+    // NOTE: Since we are using the replicated log with ZooKeeper
+    // (default storage in MesosTest), we need to specify the quorum.
     flags.quorum = 1;
 
     return flags;

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/tests/script.cpp
----------------------------------------------------------------------
diff --git a/src/tests/script.cpp b/src/tests/script.cpp
index e427572..bf5e1e3 100644
--- a/src/tests/script.cpp
+++ b/src/tests/script.cpp
@@ -106,8 +106,8 @@ void execute(const string& script)
     os::setenv("MESOS_WEBUI_DIR", path::join(flags.source_dir, "src", "webui"));
     os::setenv("MESOS_LAUNCHER_DIR", path::join(flags.build_dir, "src"));
 
-    // Enable log storage based registry.
-    os::setenv("MESOS_REGISTRY", "log_storage");
+    // Enable replicated log based registry.
+    os::setenv("MESOS_REGISTRY", "replicated_log");
 
     // Enable authentication.
     os::setenv("MESOS_AUTHENTICATE", "true");

http://git-wip-us.apache.org/repos/asf/mesos/blob/6dd118f9/src/zookeeper/group.cpp
----------------------------------------------------------------------
diff --git a/src/zookeeper/group.cpp b/src/zookeeper/group.cpp
index e91ed98..3b7f974 100644
--- a/src/zookeeper/group.cpp
+++ b/src/zookeeper/group.cpp
@@ -703,7 +703,7 @@ Try<bool> GroupProcess::cache()
     Try<int32_t> sequence = numify<int32_t>(tokens.back());
 
     // Skip it if it couldn't be converted to a number.
-    // NOTE: This is currently possible when using a log storage
+    // NOTE: This is currently possible when using a replicated log
     // based registry because the log replicas register under
     // "/log_replicas" at the same path as the masters' ephemeral
     // znodes.