You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2014/12/04 00:14:13 UTC
[7/8] mesos git commit: Fixed a bug in the allocator's framework
activation.
Fixed a bug in the allocator's framework activation.
Review: https://reviews.apache.org/r/28668
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f68d6cd7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f68d6cd7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f68d6cd7
Branch: refs/heads/master
Commit: f68d6cd7746cfb47e136a5c95b9bc7bcdcdf269d
Parents: 9b84b52
Author: Benjamin Mahler <be...@gmail.com>
Authored: Tue Dec 2 19:33:15 2014 -0800
Committer: Benjamin Mahler <be...@gmail.com>
Committed: Wed Dec 3 15:02:05 2014 -0800
----------------------------------------------------------------------
src/master/allocator.hpp | 12 ++++--------
src/master/hierarchical_allocator_process.hpp | 10 +++++-----
src/master/master.cpp | 4 ++--
src/tests/allocator_tests.cpp | 2 +-
src/tests/mesos.hpp | 10 ++++------
5 files changed, 16 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/f68d6cd7/src/master/allocator.hpp
----------------------------------------------------------------------
diff --git a/src/master/allocator.hpp b/src/master/allocator.hpp
index 8fb660d..af4782b 100644
--- a/src/master/allocator.hpp
+++ b/src/master/allocator.hpp
@@ -79,8 +79,7 @@ public:
// Offers are sent only to activated frameworks.
void activateFramework(
- const FrameworkID& frameworkId,
- const FrameworkInfo& frameworkInfo);
+ const FrameworkID& frameworkId);
void deactivateFramework(
const FrameworkID& frameworkId);
@@ -155,8 +154,7 @@ public:
const FrameworkID& frameworkId) = 0;
virtual void activateFramework(
- const FrameworkID& frameworkId,
- const FrameworkInfo& frameworkInfo) = 0;
+ const FrameworkID& frameworkId) = 0;
virtual void deactivateFramework(
const FrameworkID& frameworkId) = 0;
@@ -247,14 +245,12 @@ inline void Allocator::removeFramework(
inline void Allocator::activateFramework(
- const FrameworkID& frameworkId,
- const FrameworkInfo& frameworkInfo)
+ const FrameworkID& frameworkId)
{
process::dispatch(
process,
&AllocatorProcess::activateFramework,
- frameworkId,
- frameworkInfo);
+ frameworkId);
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/f68d6cd7/src/master/hierarchical_allocator_process.hpp
----------------------------------------------------------------------
diff --git a/src/master/hierarchical_allocator_process.hpp b/src/master/hierarchical_allocator_process.hpp
index f0baa05..ddd42e7 100644
--- a/src/master/hierarchical_allocator_process.hpp
+++ b/src/master/hierarchical_allocator_process.hpp
@@ -83,8 +83,7 @@ public:
const FrameworkID& frameworkId);
void activateFramework(
- const FrameworkID& frameworkId,
- const FrameworkInfo& frameworkInfo);
+ const FrameworkID& frameworkId);
void deactivateFramework(
const FrameworkID& frameworkId);
@@ -333,12 +332,13 @@ HierarchicalAllocatorProcess<RoleSorter, FrameworkSorter>::removeFramework(
template <class RoleSorter, class FrameworkSorter>
void
HierarchicalAllocatorProcess<RoleSorter, FrameworkSorter>::activateFramework(
- const FrameworkID& frameworkId,
- const FrameworkInfo& frameworkInfo)
+ const FrameworkID& frameworkId)
{
CHECK(initialized);
- const std::string& role = frameworkInfo.role();
+ CHECK(frameworks.contains(frameworkId));
+ const std::string& role = frameworks[frameworkId].role;
+
sorters[role]->activate(frameworkId.value());
LOG(INFO) << "Activated framework " << frameworkId;
http://git-wip-us.apache.org/repos/asf/mesos/blob/f68d6cd7/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index 3d85e7b..b910665 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -1580,7 +1580,7 @@ void Master::_reregisterFramework(
// the allocator has the correct view of the framework's share.
if (!framework->active) {
framework->active = true;
- allocator->activateFramework(framework->id, framework->info);
+ allocator->activateFramework(framework->id);
}
FrameworkReregisteredMessage message;
@@ -4162,7 +4162,7 @@ void Master::failoverFramework(Framework* framework, const UPID& newPid)
// the allocator has the correct view of the framework's share.
if (!framework->active) {
framework->active = true;
- allocator->activateFramework(framework->id, framework->info);
+ allocator->activateFramework(framework->id);
}
// 'Failover' the framework's metrics. i.e., change the lookup key
http://git-wip-us.apache.org/repos/asf/mesos/blob/f68d6cd7/src/tests/allocator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/allocator_tests.cpp b/src/tests/allocator_tests.cpp
index b2924e3..65f05fd 100644
--- a/src/tests/allocator_tests.cpp
+++ b/src/tests/allocator_tests.cpp
@@ -1304,7 +1304,7 @@ TYPED_TEST(AllocatorTest, SchedulerFailover)
MesosSchedulerDriver driver2(
&sched2, frameworkInfo2, master.get(), DEFAULT_CREDENTIAL);
- EXPECT_CALL(this->allocator, activateFramework(_, _));
+ EXPECT_CALL(this->allocator, activateFramework(_));
EXPECT_CALL(sched2, registered(_, frameworkId, _));
http://git-wip-us.apache.org/repos/asf/mesos/blob/f68d6cd7/src/tests/mesos.hpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.hpp b/src/tests/mesos.hpp
index 02a7129..aa10343 100644
--- a/src/tests/mesos.hpp
+++ b/src/tests/mesos.hpp
@@ -664,7 +664,7 @@ public:
ON_CALL(*this, removeFramework(_))
.WillByDefault(InvokeFrameworkRemoved(this));
- ON_CALL(*this, activateFramework(_, _))
+ ON_CALL(*this, activateFramework(_))
.WillByDefault(InvokeFrameworkActivated(this));
ON_CALL(*this, deactivateFramework(_))
@@ -714,9 +714,8 @@ public:
MOCK_METHOD1(removeFramework, void(
const FrameworkID&));
- MOCK_METHOD2(activateFramework, void(
- const FrameworkID&,
- const FrameworkInfo&));
+ MOCK_METHOD1(activateFramework, void(
+ const FrameworkID&));
MOCK_METHOD1(deactivateFramework, void(
const FrameworkID&));
@@ -800,8 +799,7 @@ ACTION_P(InvokeFrameworkActivated, allocator)
process::dispatch(
allocator->real,
&master::allocator::AllocatorProcess::activateFramework,
- arg0,
- arg1);
+ arg0);
}