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 2013/12/06 20:56:05 UTC
git commit: Fixed the master to drop authentication when non-leading.
Updated Branches:
refs/heads/master e1875ce9f -> 9dbb5ecec
Fixed the master to drop authentication when non-leading.
Review: https://reviews.apache.org/r/16068
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/9dbb5ece
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/9dbb5ece
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/9dbb5ece
Branch: refs/heads/master
Commit: 9dbb5ecec41321ffa9a1ddf76a00ed3fb09ed0b5
Parents: e1875ce
Author: Benjamin Mahler <bm...@twitter.com>
Authored: Thu Dec 5 15:49:14 2013 -0800
Committer: Benjamin Mahler <bm...@twitter.com>
Committed: Fri Dec 6 11:31:49 2013 -0800
----------------------------------------------------------------------
src/master/master.cpp | 6 ++++++
src/tests/fault_tolerance_tests.cpp | 11 ++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/9dbb5ece/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index c610e49..cb8e613 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -1815,6 +1815,12 @@ void Master::offer(const FrameworkID& frameworkId,
// 'authenticate' message doesn't contain the 'FrameworkID'.
void Master::authenticate(const UPID& from, const UPID& pid)
{
+ if (!elected()) {
+ LOG(WARNING) << "Ignoring authenticate message from " << from
+ << " since not elected yet";
+ return;
+ }
+
// Deactivate the framework if it's already registered.
foreachvalue (Framework* framework, frameworks) {
if (framework->pid == pid) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/9dbb5ece/src/tests/fault_tolerance_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/fault_tolerance_tests.cpp b/src/tests/fault_tolerance_tests.cpp
index 74d3447..075a192 100644
--- a/src/tests/fault_tolerance_tests.cpp
+++ b/src/tests/fault_tolerance_tests.cpp
@@ -817,8 +817,6 @@ TEST_F(FaultToleranceTest, SchedulerFailoverRetriedReregistration)
TEST_F(FaultToleranceTest, FrameworkReliableRegistration)
{
- Clock::pause();
-
Try<PID<Master> > master = StartMaster();
ASSERT_SOME(master);
@@ -839,15 +837,22 @@ TEST_F(FaultToleranceTest, FrameworkReliableRegistration)
EXPECT_CALL(sched, offerRescinded(&driver, _))
.Times(AtMost(1));
+ Future<AuthenticateMessage> authenticateMessage =
+ FUTURE_PROTOBUF(AuthenticateMessage(), _, master.get());
+
// Drop the first framework registered message, allow subsequent messages.
Future<FrameworkRegisteredMessage> frameworkRegisteredMessage =
- DROP_PROTOBUF(FrameworkRegisteredMessage(), _, _);
+ DROP_PROTOBUF(FrameworkRegisteredMessage(), master.get(), _);
driver.start();
+ // Ensure authentication occurs.
+ AWAIT_READY(authenticateMessage);
+
AWAIT_READY(frameworkRegisteredMessage);
// TODO(benh): Pull out constant from SchedulerProcess.
+ Clock::pause();
Clock::advance(Seconds(1));
AWAIT_READY(registered); // Ensures registered message is received.