You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by id...@apache.org on 2015/04/29 01:50:36 UTC
mesos git commit: Only log processes in the slave cgroup on recovery.
Repository: mesos
Updated Branches:
refs/heads/master 8b365a487 -> 56513a130
Only log processes in the slave cgroup on recovery.
Changes previous behavior where the slave would exit if processes were
in the slave cgroup.
Review: https://reviews.apache.org/r/33647
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/56513a13
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/56513a13
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/56513a13
Branch: refs/heads/master
Commit: 56513a130d497f87caad31b38671defe7ee9e7a0
Parents: 8b365a4
Author: Ian Downes <id...@twitter.com>
Authored: Tue Apr 28 16:30:47 2015 -0700
Committer: Ian Downes <id...@twitter.com>
Committed: Tue Apr 28 16:48:01 2015 -0700
----------------------------------------------------------------------
src/slave/slave.cpp | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/56513a13/src/slave/slave.cpp
----------------------------------------------------------------------
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index c5b4847..c78ee3c 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -242,9 +242,18 @@ void Slave::initialize()
<< " for slave: " << processes.error();
}
- // TODO(idownes): Re-evaluate this behavior if it's observed,
- // possibly automatically killing any running processes and
- // moving this code to during recovery.
+ // Log if there are any processes in the slave's cgroup. They
+ // may be transient helper processes like 'perf' or 'du',
+ // ancillary processes like 'docker log' or possibly a stuck
+ // slave.
+ // TODO(idownes): Generally, it's not a problem if there are
+ // processes running in the slave's cgroup, though any resources
+ // consumed by those processes are accounted to the slave. Where
+ // applicable, transient processes should be configured to
+ // terminate if the slave exits; see example usage for perf in
+ // isolators/cgroups/perf.cpp. Consider moving ancillary
+ // processes to a different cgroup, e.g., moving 'docker log' to
+ // the container's cgroup.
if (!processes.get().empty()) {
// For each process, we print its pid as well as its command
// to help triaging.
@@ -260,10 +269,10 @@ void Slave::initialize()
}
}
- EXIT(1) << "A slave (or child process) is still running, "
- << "please check the following process(es) listed in "
- << path::join(hierarchy.get(), cgroup, "cgroups.proc")
- << ":\n" << strings::join("\n", infos);
+ LOG(INFO) << "A slave (or child process) is still running, please"
+ << " consider checking the following process(es) listed in "
+ << path::join(hierarchy.get(), cgroup, "cgroups.proc")
+ << ":\n" << strings::join("\n", infos);
}
// Move all of our threads into the cgroup.