You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2014/08/15 19:43:01 UTC
git commit: Added support for disabling glog initialization for
drivers.
Repository: mesos
Updated Branches:
refs/heads/master c010c5c93 -> c8847ac92
Added support for disabling glog initialization for drivers.
Review: https://reviews.apache.org/r/24687
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/c8847ac9
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/c8847ac9
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/c8847ac9
Branch: refs/heads/master
Commit: c8847ac92030c9910998344e800651c4ade6aa19
Parents: c010c5c
Author: Vinod Kone <vi...@gmail.com>
Authored: Tue Aug 12 10:51:36 2014 -0700
Committer: Vinod Kone <vi...@gmail.com>
Committed: Fri Aug 15 10:36:35 2014 -0700
----------------------------------------------------------------------
include/mesos/executor.hpp | 7 +++++++
include/mesos/scheduler.hpp | 7 +++++++
src/exec/exec.cpp | 19 ++++++++++++++++++-
.../org/apache/mesos/MesosExecutorDriver.java | 8 ++++++++
.../org/apache/mesos/MesosSchedulerDriver.java | 8 ++++++++
src/logging/flags.hpp | 7 +++++++
src/sched/sched.cpp | 7 ++++++-
src/scheduler/scheduler.cpp | 7 ++++++-
8 files changed, 67 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/include/mesos/executor.hpp
----------------------------------------------------------------------
diff --git a/include/mesos/executor.hpp b/include/mesos/executor.hpp
index ed2330f..07a468d 100644
--- a/include/mesos/executor.hpp
+++ b/include/mesos/executor.hpp
@@ -228,6 +228,13 @@ public:
* MesosExecutorDriver::join) doesn't affect the executor callbacks in
* anyway because they are handled by a different thread.
*
+ * Note that the driver uses GLOG to do its own logging. GLOG flags can
+ * be set via environment variables, prefixing the flag name with
+ * "GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
+ * src/logging/flags.hpp. Mesos flags can also be set via environment
+ * variables, prefixing the flag name with "MESOS_", e.g.,
+ * "MESOS_QUIET=1".
+ *
* See src/examples/test_executor.cpp for an example of using the
* MesosExecutorDriver.
*/
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/include/mesos/scheduler.hpp
----------------------------------------------------------------------
diff --git a/include/mesos/scheduler.hpp b/include/mesos/scheduler.hpp
index 8027272..42e4e27 100644
--- a/include/mesos/scheduler.hpp
+++ b/include/mesos/scheduler.hpp
@@ -339,6 +339,13 @@ public:
* MesosSchedulerDriver::join) doesn't affect the scheduler callbacks
* in anyway because they are handled by a different thread.
*
+ * Note that the driver uses GLOG to do its own logging. GLOG flags can
+ * be set via environment variables, prefixing the flag name with
+ * "GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
+ * src/logging/flags.hpp. Mesos flags can also be set via environment
+ * variables, prefixing the flag name with "MESOS_", e.g.,
+ * "MESOS_QUIET=1".
+ *
* See src/examples/test_framework.cpp for an example of using the
* MesosSchedulerDriver.
*/
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/src/exec/exec.cpp
----------------------------------------------------------------------
diff --git a/src/exec/exec.cpp b/src/exec/exec.cpp
index 15d41eb..36d1778 100644
--- a/src/exec/exec.cpp
+++ b/src/exec/exec.cpp
@@ -48,6 +48,7 @@
#include "common/protobuf_utils.hpp"
#include "common/type_utils.hpp"
+#include "logging/flags.hpp"
#include "logging/logging.hpp"
#include "messages/messages.hpp"
@@ -581,6 +582,17 @@ MesosExecutorDriver::MesosExecutorDriver(Executor* _executor)
{
GOOGLE_PROTOBUF_VERIFY_VERSION;
+ // Load any logging flags from the environment.
+ logging::Flags flags;
+
+ Try<Nothing> load = flags.load("MESOS_");
+
+ if (load.isError()) {
+ status = DRIVER_ABORTED;
+ executor->error(this, load.error());
+ return;
+ }
+
// Create mutex and condition variable
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
@@ -592,7 +604,12 @@ MesosExecutorDriver::MesosExecutorDriver(Executor* _executor)
// Initialize libprocess.
process::initialize();
- // TODO(benh): Initialize glog.
+ // Initialize logging.
+ if (flags.initialize_driver_logging) {
+ logging::initialize("mesos", flags);
+ } else {
+ VLOG(1) << "Disabling initialization of GLOG logging";
+ }
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/src/java/src/org/apache/mesos/MesosExecutorDriver.java
----------------------------------------------------------------------
diff --git a/src/java/src/org/apache/mesos/MesosExecutorDriver.java b/src/java/src/org/apache/mesos/MesosExecutorDriver.java
index 910548c..1b5ed60 100644
--- a/src/java/src/org/apache/mesos/MesosExecutorDriver.java
+++ b/src/java/src/org/apache/mesos/MesosExecutorDriver.java
@@ -33,6 +33,14 @@ import org.apache.mesos.Protos.*;
* #join}) doesn't affect the executor callbacks in anyway because
* they are handled by a different thread.
* <p>
+ * <p>
+ * Note that the driver uses GLOG to do its own logging. GLOG flags can
+ * be set via environment variables, prefixing the flag name with
+ * "GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
+ * src/logging/flags.hpp. Mesos flags can also be set via environment
+ * variables, prefixing the flag name with "MESOS_", e.g.,
+ * "MESOS_QUIET=1".
+ * <p>
* See src/examples/java/TestExecutor.java for an example of using the
* MesosExecutorDriver.
*/
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
----------------------------------------------------------------------
diff --git a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
index afdbbbc..6ad03ce 100644
--- a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
+++ b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
@@ -45,6 +45,14 @@ import java.util.Map;
* #join}) doesn't affect the scheduler callbacks in anyway because
* they are handled by a different thread.
* <p>
+ * <p>
+ * Note that the driver uses GLOG to do its own logging. GLOG flags can
+ * be set via environment variables, prefixing the flag name with
+ * "GLOG_", e.g., "GLOG_v=1". For Mesos specific logging flags see
+ * src/logging/flags.hpp. Mesos flags can also be set via environment
+ * variables, prefixing the flag name with "MESOS_", e.g.,
+ * "MESOS_QUIET=1".
+ * <p>
* See src/examples/java/TestFramework.java for an example of using
* the MesosSchedulerDriver.
*/
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/src/logging/flags.hpp
----------------------------------------------------------------------
diff --git a/src/logging/flags.hpp b/src/logging/flags.hpp
index d30a706..11efb84 100644
--- a/src/logging/flags.hpp
+++ b/src/logging/flags.hpp
@@ -55,12 +55,19 @@ public:
"logbufsecs",
"How many seconds to buffer log messages for",
0);
+
+ add(&Flags::initialize_driver_logging,
+ "initialize_driver_logging",
+ "Whether to automatically initialize google logging of scheduler\n"
+ "and/or executor drivers.",
+ true);
}
bool quiet;
std::string logging_level;
Option<std::string> log_dir;
int logbufsecs;
+ bool initialize_driver_logging;
};
} // namespace logging {
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/src/sched/sched.cpp
----------------------------------------------------------------------
diff --git a/src/sched/sched.cpp b/src/sched/sched.cpp
index cbc5291..447b96f 100644
--- a/src/sched/sched.cpp
+++ b/src/sched/sched.cpp
@@ -1090,8 +1090,13 @@ void MesosSchedulerDriver::initialize() {
// Initialize libprocess.
process::initialize(schedulerId);
+ // Initialize logging.
// TODO(benh): Replace whitespace in framework.name() with '_'?
- logging::initialize(framework.name(), flags);
+ if (flags.initialize_driver_logging) {
+ logging::initialize(framework.name(), flags);
+ } else {
+ VLOG(1) << "Disabling initialization of GLOG logging";
+ }
// Initialize mutex and condition variable. TODO(benh): Consider
// using a libprocess Latch rather than a pthread mutex and
http://git-wip-us.apache.org/repos/asf/mesos/blob/c8847ac9/src/scheduler/scheduler.cpp
----------------------------------------------------------------------
diff --git a/src/scheduler/scheduler.cpp b/src/scheduler/scheduler.cpp
index 498d6aa..b7ce4de 100644
--- a/src/scheduler/scheduler.cpp
+++ b/src/scheduler/scheduler.cpp
@@ -127,7 +127,12 @@ public:
// want to use flags to initialize libprocess).
process::initialize();
- logging::initialize("mesos", flags);
+ // Initialize logging.
+ if (flags.initialize_driver_logging) {
+ logging::initialize("mesos", flags);
+ } else {
+ VLOG(1) << "Disabling initialization of GLOG logging";
+ }
LOG(INFO) << "Version: " << MESOS_VERSION;