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 2014/12/03 02:37:18 UTC
[1/2] mesos git commit: Fixed a double counting bug for staging tasks.
Repository: mesos
Updated Branches:
refs/heads/master 937bf8a89 -> f5cb86db5
Fixed a double counting bug for staging tasks.
Review: https://reviews.apache.org/r/28433
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/407cc6b8
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/407cc6b8
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/407cc6b8
Branch: refs/heads/master
Commit: 407cc6b82c42cff9188a2264a378c5bf4d116869
Parents: 937bf8a
Author: Jie Yu <yu...@gmail.com>
Authored: Mon Dec 1 17:02:24 2014 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Tue Dec 2 17:35:46 2014 -0800
----------------------------------------------------------------------
src/slave/slave.cpp | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/407cc6b8/src/slave/slave.cpp
----------------------------------------------------------------------
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index ed63ded..9ac6458 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -1995,8 +1995,6 @@ void Slave::registerExecutor(
<< " for executor '" << executor->id << "'"
<< " of framework " << framework->id;
- stats.tasks[TASK_STAGING]++;
-
RunTaskMessage message;
message.mutable_framework_id()->MergeFrom(framework->id);
message.mutable_framework()->MergeFrom(framework->info);
[2/2] mesos git commit: Removed the empty resource check in master.
Posted by ji...@apache.org.
Removed the empty resource check in master.
Review: https://reviews.apache.org/r/28616
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f5cb86db
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f5cb86db
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f5cb86db
Branch: refs/heads/master
Commit: f5cb86db5f5a0d97a1b0cc1ab2bf7daf56155ad8
Parents: 407cc6b
Author: Jie Yu <yu...@gmail.com>
Authored: Tue Dec 2 16:10:49 2014 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Tue Dec 2 17:36:48 2014 -0800
----------------------------------------------------------------------
src/master/master.cpp | 20 +++-------
src/tests/resource_offers_tests.cpp | 64 ++------------------------------
2 files changed, 8 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/f5cb86db/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index c840d49..99b5a20 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -1913,25 +1913,15 @@ struct ResourceUsageChecker : TaskInfoVisitor
return Error("Task uses invalid resources: " + error.get().message);
}
- // Ensure no empty resource is used.
- foreach (const Resource& resource, task.resources()) {
- if (Resources::empty(resource)) {
- return Error("Task uses empty resources: " + stringify(resource));
- }
- }
-
// Check this task's executor's resources.
Resources executorResources;
if (task.has_executor()) {
- foreach (const Resource& resource, task.executor().resources()) {
- Option<Error> error = Resources::validate(resource);
- if (error.isSome() || Resources::empty(resource)) {
- // TODO(benh): Send back the invalid resources?
- return Error(
- "Executor for task " + stringify(task.task_id()) +
- " uses invalid resources " + stringify(resource));
- }
+ Option<Error> error = Resources::validate(task.executor().resources());
+ if (error.isSome()) {
+ return Error(
+ "Executor for task " + stringify(task.task_id()) +
+ " uses invalid resources: " + error.get().message);
}
executorResources = task.executor().resources();
http://git-wip-us.apache.org/repos/asf/mesos/blob/f5cb86db/src/tests/resource_offers_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/resource_offers_tests.cpp b/src/tests/resource_offers_tests.cpp
index 7e09319..c8c25d7 100644
--- a/src/tests/resource_offers_tests.cpp
+++ b/src/tests/resource_offers_tests.cpp
@@ -200,65 +200,6 @@ TEST_F(TaskValidationTest, TaskUsesNoResources)
}
-TEST_F(TaskValidationTest, TaskUsesEmptyResources)
-{
- Try<PID<Master>> master = StartMaster();
- ASSERT_SOME(master);
-
- Try<PID<Slave>> slave = StartSlave();
- ASSERT_SOME(slave);
-
- MockScheduler sched;
- MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
-
- EXPECT_CALL(sched, registered(&driver, _, _))
- .Times(1);
-
- Future<vector<Offer>> offers;
- EXPECT_CALL(sched, resourceOffers(&driver, _))
- .WillOnce(FutureArg<1>(&offers))
- .WillRepeatedly(Return()); // Ignore subsequent offers.
-
- driver.start();
-
- AWAIT_READY(offers);
- EXPECT_NE(0u, offers.get().size());
-
- TaskInfo task;
- task.set_name("");
- task.mutable_task_id()->set_value("1");
- task.mutable_slave_id()->MergeFrom(offers.get()[0].slave_id());
- task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
-
- Resource* cpus = task.add_resources();
- cpus->set_name("cpus");
- cpus->set_type(Value::SCALAR);
- cpus->mutable_scalar()->set_value(0);
-
- vector<TaskInfo> tasks;
- tasks.push_back(task);
-
- Future<TaskStatus> status;
- EXPECT_CALL(sched, statusUpdate(&driver, _))
- .WillOnce(FutureArg<1>(&status));
-
- driver.launchTasks(offers.get()[0].id(), tasks);
-
- AWAIT_READY(status);
- EXPECT_EQ(task.task_id(), status.get().task_id());
- EXPECT_EQ(TASK_ERROR, status.get().state());
- EXPECT_EQ(TaskStatus::REASON_TASK_INVALID, status.get().reason());
- EXPECT_TRUE(status.get().has_message());
- EXPECT_EQ("Task uses empty resources: cpus(*):0", status.get().message());
-
- driver.stop();
- driver.join();
-
- Shutdown();
-}
-
-
TEST_F(TaskValidationTest, TaskUsesMoreResourcesThanOffered)
{
Try<PID<Master>> master = StartMaster();
@@ -797,7 +738,7 @@ TEST_F(ResourceOffersTest, ResourcesGetReofferedAfterTaskInfoError)
Resource* cpus = task.add_resources();
cpus->set_name("cpus");
cpus->set_type(Value::SCALAR);
- cpus->mutable_scalar()->set_value(0);
+ cpus->mutable_scalar()->set_value(-1);
Resource* mem = task.add_resources();
mem->set_name("mem");
@@ -818,7 +759,8 @@ TEST_F(ResourceOffersTest, ResourcesGetReofferedAfterTaskInfoError)
EXPECT_EQ(TASK_ERROR, status.get().state());
EXPECT_EQ(TaskStatus::REASON_TASK_INVALID, status.get().reason());
EXPECT_TRUE(status.get().has_message());
- EXPECT_EQ("Task uses empty resources: cpus(*):0", status.get().message());
+ EXPECT_TRUE(strings::startsWith(
+ status.get().message(), "Task uses invalid resources"));
MockScheduler sched2;
MesosSchedulerDriver driver2(