You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by nn...@apache.org on 2014/12/04 20:14:15 UTC
mesos git commit: Made GC_DISK_HEADROOM configurable.
Repository: mesos
Updated Branches:
refs/heads/master 9b19432b8 -> 49d4553a0
Made GC_DISK_HEADROOM configurable.
Added --gc_disk_headroom to mesos-slave which let's users configure
the disk headroom value used to calculate maximum executor age.
Review: https://reviews.apache.org/r/28681
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/49d4553a
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/49d4553a
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/49d4553a
Branch: refs/heads/master
Commit: 49d4553a0645624179f17ed6da8d2443e88998bf
Parents: 9b19432
Author: Niklas Nielsen <ni...@qni.dk>
Authored: Thu Dec 4 11:12:17 2014 -0800
Committer: Niklas Q. Nielsen <ni...@mesosphere.io>
Committed: Thu Dec 4 11:12:17 2014 -0800
----------------------------------------------------------------------
src/slave/flags.hpp | 10 ++++++++++
src/slave/slave.cpp | 7 ++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/49d4553a/src/slave/flags.hpp
----------------------------------------------------------------------
diff --git a/src/slave/flags.hpp b/src/slave/flags.hpp
index 4f5b8b4..670997d 100644
--- a/src/slave/flags.hpp
+++ b/src/slave/flags.hpp
@@ -144,6 +144,15 @@ public:
"the available disk usage.",
GC_DELAY);
+ add(&Flags::gc_disk_headroom,
+ "gc_disk_headroom",
+ "Adjust disk headroom used to calculate maximum executor\n"
+ "directory age. Age is calculated by:\n"
+ "gc_delay * max(0.0, (1.0 - gc_disk_headroom - disk usage))\n"
+ "every --disk_watch_interval duration. gc_disk_headroom must\n"
+ "be a value between 0.0 and 1.0",
+ GC_DISK_HEADROOM);
+
add(&Flags::disk_watch_interval,
"disk_watch_interval",
"Periodic time interval (e.g., 10secs, 2mins, etc)\n"
@@ -440,6 +449,7 @@ public:
Duration executor_registration_timeout;
Duration executor_shutdown_grace_period;
Duration gc_delay;
+ double gc_disk_headroom;
Duration disk_watch_interval;
Duration resource_monitoring_interval;
bool checkpoint;
http://git-wip-us.apache.org/repos/asf/mesos/blob/49d4553a/src/slave/slave.cpp
----------------------------------------------------------------------
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index 9ac6458..50b5781 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -281,6 +281,11 @@ void Slave::initialize()
}
}
+ if ((flags.gc_disk_headroom < 0) || (flags.gc_disk_headroom > 1)) {
+ EXIT(1) << "Invalid value '" << flags.gc_disk_headroom
+ << "' for --gc_disk_headroom. Must be between 0.0 and 1.0.";
+ }
+
// Ensure slave work directory exists.
CHECK_SOME(os::mkdir(flags.work_dir))
<< "Failed to create slave work directory '" << flags.work_dir << "'";
@@ -3310,7 +3315,7 @@ void Slave::registerExecutorTimeout(
// TODO(vinod): Figure out a way to express this function via cmd line.
Duration Slave::age(double usage)
{
- return flags.gc_delay * std::max(0.0, (1.0 - GC_DISK_HEADROOM - usage));
+ return flags.gc_delay * std::max(0.0, (1.0 - flags.gc_disk_headroom - usage));
}