You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/08/25 18:45:31 UTC

[5/8] mesos git commit: Stopped passing messages in MesosContainerizer destroy methods.

Stopped passing messages in MesosContainerizer destroy methods.

The extra message is introduced in:
https://reviews.apache.org/r/28141.

I don't see a strong reason why we need such messages from that patch.
Furthermore, the message is not quite useful because it is not the
root cause of the destroy. Finally, the `Executor terminated` message
no longer applies when we destroy a nested container. The same message
is already generated properly in the agent.

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


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

Branch: refs/heads/master
Commit: ba435cc2e23b40927460bcb6052e2498a474355c
Parents: 7117970
Author: Jie Yu <yu...@gmail.com>
Authored: Wed Aug 24 16:01:22 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Thu Aug 25 11:45:23 2016 -0700

----------------------------------------------------------------------
 src/slave/containerizer/mesos/containerizer.cpp | 61 +++++++++-----------
 src/slave/containerizer/mesos/containerizer.hpp |  9 +--
 .../containerizer/mesos_containerizer_tests.cpp | 16 -----
 3 files changed, 31 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/ba435cc2/src/slave/containerizer/mesos/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp
index e87292f..d381d13 100644
--- a/src/slave/containerizer/mesos/containerizer.cpp
+++ b/src/slave/containerizer/mesos/containerizer.cpp
@@ -1611,8 +1611,7 @@ void MesosContainerizerProcess::destroy(
           &Self::____destroy,
           containerId,
           None(),
-          list<Future<Nothing>>(),
-          "Container destroyed while provisioning images"));
+          list<Future<Nothing>>()));
 
     return;
   }
@@ -1638,8 +1637,7 @@ void MesosContainerizerProcess::destroy(
           self(),
           &Self::___destroy,
           containerId,
-          None(),
-          "Container destroyed while preparing isolators"));
+          None()));
 
     return;
   }
@@ -1653,7 +1651,10 @@ void MesosContainerizerProcess::destroy(
     // Wait for the isolators to finish isolating before we start
     // to destroy the container.
     container->isolation
-      .onAny(defer(self(), &Self::_destroy, containerId));
+      .onAny(defer(
+          self(),
+          &Self::_destroy,
+          containerId));
 
     return;
   }
@@ -1675,7 +1676,11 @@ void MesosContainerizerProcess::_destroy(
 
   // Kill all processes then continue destruction.
   launcher->destroy(containerId)
-    .onAny(defer(self(), &Self::__destroy, containerId, lambda::_1));
+    .onAny(defer(
+        self(),
+        &Self::__destroy,
+        containerId,
+        lambda::_1));
 }
 
 
@@ -1712,33 +1717,30 @@ void MesosContainerizerProcess::__destroy(
         self(),
         &Self::___destroy,
         containerId,
-        lambda::_1,
-        None()));
+        lambda::_1));
 }
 
 
 void MesosContainerizerProcess::___destroy(
     const ContainerID& containerId,
-    const Future<Option<int>>& status,
-    const Option<string>& message)
+    const Future<Option<int>>& status)
 {
   CHECK(containers_.contains(containerId));
 
   cleanupIsolators(containerId)
-    .onAny(defer(self(),
-                 &Self::____destroy,
-                 containerId,
-                 status,
-                 lambda::_1,
-                 message));
+    .onAny(defer(
+        self(),
+        &Self::____destroy,
+        containerId,
+        status,
+        lambda::_1));
 }
 
 
 void MesosContainerizerProcess::____destroy(
     const ContainerID& containerId,
     const Future<Option<int>>& status,
-    const Future<list<Future<Nothing>>>& cleanups,
-    Option<string> message)
+    const Future<list<Future<Nothing>>>& cleanups)
 {
   // This should not occur because we only use the Future<list> to
   // facilitate chaining.
@@ -1766,20 +1768,19 @@ void MesosContainerizerProcess::____destroy(
   }
 
   provisioner->destroy(containerId)
-    .onAny(defer(self(),
-                 &Self::_____destroy,
-                 containerId,
-                 status,
-                 lambda::_1,
-                 message));
+    .onAny(defer(
+        self(),
+        &Self::_____destroy,
+        containerId,
+        status,
+        lambda::_1));
 }
 
 
 void MesosContainerizerProcess::_____destroy(
     const ContainerID& containerId,
     const Future<Option<int>>& status,
-    const Future<bool>& destroy,
-    Option<string> message)
+    const Future<bool>& destroy)
 {
   CHECK(containers_.contains(containerId));
 
@@ -1822,15 +1823,9 @@ void MesosContainerizerProcess::_____destroy(
       }
     }
 
-    message = strings::join("; ", messages);
-  }
-
-  if (message.isNone()) {
-    message = "Executor terminated";
+    termination.set_message(strings::join("; ", messages));
   }
 
-  termination.set_message(message.get());
-
   container->promise.set(termination);
 
   containers_.erase(containerId);

http://git-wip-us.apache.org/repos/asf/mesos/blob/ba435cc2/src/slave/containerizer/mesos/containerizer.hpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.hpp b/src/slave/containerizer/mesos/containerizer.hpp
index 1f414cf..681ee00 100644
--- a/src/slave/containerizer/mesos/containerizer.hpp
+++ b/src/slave/containerizer/mesos/containerizer.hpp
@@ -234,23 +234,20 @@ private:
   // Continues '__destroy()' once we get the exit status of the executor.
   void ___destroy(
       const ContainerID& containerId,
-      const process::Future<Option<int>>& status,
-      const Option<std::string>& message);
+      const process::Future<Option<int>>& status);
 
   // Continues '___destroy()' once all isolators have completed
   // cleanup.
   void ____destroy(
       const ContainerID& containerId,
       const process::Future<Option<int>>& status,
-      const process::Future<std::list<process::Future<Nothing>>>& cleanups,
-      Option<std::string> message);
+      const process::Future<std::list<process::Future<Nothing>>>& cleanups);
 
   // Continues '____destroy()' once provisioner have completed destroy.
   void _____destroy(
       const ContainerID& containerId,
       const process::Future<Option<int>>& status,
-      const process::Future<bool>& destroy,
-      Option<std::string> message);
+      const process::Future<bool>& destroy);
 
   // Call back for when an isolator limits a container and impacts the
   // processes. This will trigger container destruction.

http://git-wip-us.apache.org/repos/asf/mesos/blob/ba435cc2/src/tests/containerizer/mesos_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/mesos_containerizer_tests.cpp b/src/tests/containerizer/mesos_containerizer_tests.cpp
index c0dda11..b501ccb 100644
--- a/src/tests/containerizer/mesos_containerizer_tests.cpp
+++ b/src/tests/containerizer/mesos_containerizer_tests.cpp
@@ -747,10 +747,6 @@ TEST_F(MesosContainerizerDestroyTest, DestroyWhilePreparing)
 
   ContainerTermination termination = wait.get();
 
-  EXPECT_EQ(
-      "Container destroyed while preparing isolators",
-      termination.message());
-
   EXPECT_FALSE(termination.has_status());
 }
 
@@ -862,10 +858,6 @@ TEST_F(MesosContainerizerProvisionerTest, ProvisionFailed)
 
   ContainerTermination termination = wait.get();
 
-  EXPECT_EQ(
-    "Container destroyed while provisioning images",
-    termination.message());
-
   EXPECT_FALSE(termination.has_status());
 }
 
@@ -960,10 +952,6 @@ TEST_F(MesosContainerizerProvisionerTest, DestroyWhileProvisioning)
 
   ContainerTermination termination = wait.get();
 
-  EXPECT_EQ(
-    "Container destroyed while provisioning images",
-    termination.message());
-
   EXPECT_FALSE(termination.has_status());
 }
 
@@ -1063,10 +1051,6 @@ TEST_F(MesosContainerizerProvisionerTest, IsolatorCleanupBeforePrepare)
 
   ContainerTermination termination = wait.get();
 
-  EXPECT_EQ(
-    "Container destroyed while provisioning images",
-    termination.message());
-
   EXPECT_FALSE(termination.has_status());
 }