Repository: mesos Updated Branches: refs/heads/master 2f019d801 -> ae513df1e
Fixed a bug related to logger in MesosContainerizer. It's possible that 'destroy' is called while logger 'prepare' is being called. If that happens, when logger 'prepare' finishes, it'll trigger an assertion failure. Review: https://reviews.apache.org/r/51391 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/ae513df1 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/ae513df1 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/ae513df1 Branch: refs/heads/master Commit: ae513df1e64ecea1eb7bbaa0ca80abebde09dafa Parents: a58adcf Author: Jie Yu <yujie....@gmail.com> Authored: Wed Aug 24 14:03:33 2016 -0700 Committer: Jie Yu <yujie....@gmail.com> Committed: Wed Aug 24 22:23:38 2016 -0700 ---------------------------------------------------------------------- src/slave/containerizer/mesos/containerizer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/ae513df1/src/slave/containerizer/mesos/containerizer.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp index 7a967dd..e87292f 100644 --- a/src/slave/containerizer/mesos/containerizer.cpp +++ b/src/slave/containerizer/mesos/containerizer.cpp @@ -1163,7 +1163,14 @@ Future<bool> MesosContainerizerProcess::_launch( self(), [=](const ContainerLogger::SubprocessInfo& subprocessInfo) -> Future<bool> { - CHECK(containers_.contains(containerId)); + if (!containers_.contains(containerId)) { + return Failure("Container destroyed during preparing"); + } + + if (containers_[containerId]->state == DESTROYING) { + return Failure("Container is being destroyed during preparing"); + } + const Owned<Container>& container = containers_[containerId]; // Use a pipe to block the child until it's been isolated.