You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/04/17 18:56:52 UTC

[1/2] mesos git commit: Added MESOS-8416 to 1.5.1 CHANGELOG.

Repository: mesos
Updated Branches:
  refs/heads/1.5.x 773502848 -> 667c77485


Added MESOS-8416 to 1.5.1 CHANGELOG.


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

Branch: refs/heads/1.5.x
Commit: 667c774855852c6de6c4e0672d8917e81b4231ab
Parents: 0804079
Author: Gilbert Song <so...@gmail.com>
Authored: Tue Apr 17 10:46:29 2018 -0700
Committer: Gilbert Song <so...@gmail.com>
Committed: Tue Apr 17 10:56:16 2018 -0700

----------------------------------------------------------------------
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/667c7748/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 7095378..8ab90bc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -7,6 +7,7 @@ Release Notes - Mesos - Version 1.5.1 (WIP)
   * [MESOS-7742] - Race conditions in IOSwitchboard: listening on unix socket and premature closing of the connection.
   * [MESOS-8125] - Agent should properly handle recovering an executor when its pid is reused.
   * [MESOS-8411] - Killing a queued task can lead to the command executor never terminating.
+  * [MESOS-8416] - CHECK failure if trying to recover nested containers but the framework checkpointing is not enabled.
   * [MESOS-8468] - `LAUNCH_GROUP` failure tears down the default executor.
   * [MESOS-8488] - Docker bug can cause unkillable tasks.
   * [MESOS-8510] - URI disk profile adaptor does not consider plugin type for a profile.


[2/2] mesos git commit: Fixed the agent recovery crash if metadata is missing.

Posted by gi...@apache.org.
Fixed the agent recovery crash if metadata is missing.

This is the case that is missed when handling orphan containers
cleanup. When the agent metadata does not exist but the container
pid is chechpointed under the container runtime dir, then the
container should be regarded as orphan and should be cleaned up.

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


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

Branch: refs/heads/1.5.x
Commit: 08040790ea2fbf1836db57292f96cb4524faabee
Parents: 7735028
Author: Gilbert Song <so...@gmail.com>
Authored: Tue Apr 10 11:35:03 2018 -0700
Committer: Gilbert Song <so...@gmail.com>
Committed: Tue Apr 17 10:56:16 2018 -0700

----------------------------------------------------------------------
 src/slave/containerizer/mesos/containerizer.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/08040790/src/slave/containerizer/mesos/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp
index cddc617..c0fe435 100644
--- a/src/slave/containerizer/mesos/containerizer.cpp
+++ b/src/slave/containerizer/mesos/containerizer.cpp
@@ -855,10 +855,11 @@ Future<Nothing> MesosContainerizerProcess::recover(
       containerizer::paths::isStandaloneContainer(
           flags.runtime_dir, containerId);
 
+    const ContainerID& rootContainerId =
+      protobuf::getRootContainerId(containerId);
+
     Option<string> directory;
     if (containerId.has_parent()) {
-      const ContainerID& rootContainerId =
-        protobuf::getRootContainerId(containerId);
       CHECK(containers_.contains(rootContainerId));
 
       if (containers_[rootContainerId]->directory.isSome()) {
@@ -905,7 +906,8 @@ Future<Nothing> MesosContainerizerProcess::recover(
     // elsewhere.
     const bool isRecoverableNestedContainer =
       containerId.has_parent() &&
-      (containers_.contains(protobuf::getRootContainerId(containerId))) &&
+      containers_.contains(rootContainerId) &&
+      !orphans.contains(rootContainerId) &&
       pid.isSome() &&
       !containerizer::paths::getContainerForceDestroyOnRecovery(
           flags.runtime_dir, containerId);