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());
}