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.