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/16 00:38:53 UTC
[4/6] mesos git commit: Added non-nesting CHECKs to containerizers.
Added non-nesting CHECKs to containerizers.
Review: https://reviews.apache.org/r/51106
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6bedbb36
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6bedbb36
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6bedbb36
Branch: refs/heads/master
Commit: 6bedbb368891690f143d9fe99218ae168c72db58
Parents: 27a21b1
Author: Jie Yu <yu...@gmail.com>
Authored: Mon Aug 15 13:36:32 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Mon Aug 15 17:38:44 2016 -0700
----------------------------------------------------------------------
src/slave/containerizer/docker.cpp | 10 ++++++++++
src/slave/containerizer/mesos/containerizer.cpp | 16 ++++++++++++++++
2 files changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/6bedbb36/src/slave/containerizer/docker.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/docker.cpp b/src/slave/containerizer/docker.cpp
index 03668d2..e447c58 100644
--- a/src/slave/containerizer/docker.cpp
+++ b/src/slave/containerizer/docker.cpp
@@ -967,6 +967,8 @@ Future<bool> DockerContainerizerProcess::launch(
const map<string, string>& environment,
bool checkpoint)
{
+ CHECK(!containerId.has_parent());
+
if (containers_.contains(containerId)) {
return Failure("Container already started");
}
@@ -1393,6 +1395,8 @@ Future<Nothing> DockerContainerizerProcess::update(
const Resources& _resources,
bool force)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
LOG(WARNING) << "Ignoring updating unknown container: "
<< containerId;
@@ -1623,6 +1627,8 @@ Future<Nothing> DockerContainerizerProcess::__update(
Future<ResourceStatistics> DockerContainerizerProcess::usage(
const ContainerID& containerId)
{
+ CHECK(!containerId.has_parent());
+
#ifndef __linux__
return Failure("Does not support usage() on non-linux platform");
#else
@@ -1776,6 +1782,8 @@ Try<ResourceStatistics> DockerContainerizerProcess::cgroupsStatistics(
Future<containerizer::Termination> DockerContainerizerProcess::wait(
const ContainerID& containerId)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
return Failure("Unknown container: " + stringify(containerId));
}
@@ -1788,6 +1796,8 @@ void DockerContainerizerProcess::destroy(
const ContainerID& containerId,
bool killed)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
LOG(WARNING) << "Ignoring destroy of unknown container: " << containerId;
return;
http://git-wip-us.apache.org/repos/asf/mesos/blob/6bedbb36/src/slave/containerizer/mesos/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp
index 9b0cca2..31125a4 100644
--- a/src/slave/containerizer/mesos/containerizer.cpp
+++ b/src/slave/containerizer/mesos/containerizer.cpp
@@ -767,6 +767,8 @@ Future<bool> MesosContainerizerProcess::launch(
const map<string, string>& environment,
bool checkpoint)
{
+ CHECK(!containerId.has_parent());
+
if (containers_.contains(containerId)) {
return Failure("Container already started");
}
@@ -1374,6 +1376,8 @@ Future<bool> MesosContainerizerProcess::isolate(
const ContainerID& containerId,
pid_t _pid)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
return Failure("Container destroyed during preparing");
}
@@ -1457,6 +1461,8 @@ Future<Nothing> MesosContainerizerProcess::launch(
Future<containerizer::Termination> MesosContainerizerProcess::wait(
const ContainerID& containerId)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
// See the comments in destroy() for race conditions which lead
// to "unknown containers".
@@ -1472,6 +1478,8 @@ Future<Nothing> MesosContainerizerProcess::update(
const ContainerID& containerId,
const Resources& resources)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
// It is not considered a failure if the container is not known
// because the slave will attempt to update the container's
@@ -1513,6 +1521,8 @@ Future<ResourceStatistics> _usage(
const Option<Resources>& resources,
const list<Future<ResourceStatistics>>& statistics)
{
+ CHECK(!containerId.has_parent());
+
ResourceStatistics result;
// Set the timestamp now we have all statistics.
@@ -1549,6 +1559,8 @@ Future<ResourceStatistics> _usage(
Future<ResourceStatistics> MesosContainerizerProcess::usage(
const ContainerID& containerId)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
return Failure("Unknown container: " + stringify(containerId));
}
@@ -1596,6 +1608,8 @@ Future<ContainerStatus> _status(
Future<ContainerStatus> MesosContainerizerProcess::status(
const ContainerID& containerId)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
return Failure("Unknown container: " + stringify(containerId));
}
@@ -1624,6 +1638,8 @@ Future<ContainerStatus> MesosContainerizerProcess::status(
void MesosContainerizerProcess::destroy(
const ContainerID& containerId)
{
+ CHECK(!containerId.has_parent());
+
if (!containers_.contains(containerId)) {
// This can happen due to the race between destroys initiated by
// the launch failure, the terminated executor and the agent so