You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2012/11/04 02:30:11 UTC
svn commit: r1405470 - in /incubator/mesos/branches/0.10.0/src:
sched/sched.cpp slave/slave.cpp
Author: benh
Date: Sun Nov 4 01:30:10 2012
New Revision: 1405470
URL: http://svn.apache.org/viewvc?rev=1405470&view=rev
Log:
Short term fix for "firewalling" some potent messages from the
incorrect master (contributed by Vinod Kone,
https://reviews.apache.org/r/7270).
Modified:
incubator/mesos/branches/0.10.0/src/sched/sched.cpp
incubator/mesos/branches/0.10.0/src/slave/slave.cpp
Modified: incubator/mesos/branches/0.10.0/src/sched/sched.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/branches/0.10.0/src/sched/sched.cpp?rev=1405470&r1=1405469&r2=1405470&view=diff
==============================================================================
--- incubator/mesos/branches/0.10.0/src/sched/sched.cpp (original)
+++ incubator/mesos/branches/0.10.0/src/sched/sched.cpp Sun Nov 4 01:30:10 2012
@@ -359,6 +359,13 @@ protected:
return;
}
+ if (from != master) {
+ LOG(WARNING) << "Ignoring lost slave message from " << from
+ << "because it is not from the registered master ("
+ << master << ")";
+ return;
+ }
+
VLOG(1) << "Lost slave " << slaveId;
savedSlavePids.erase(slaveId);
Modified: incubator/mesos/branches/0.10.0/src/slave/slave.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/branches/0.10.0/src/slave/slave.cpp?rev=1405470&r1=1405469&r2=1405470&view=diff
==============================================================================
--- incubator/mesos/branches/0.10.0/src/slave/slave.cpp (original)
+++ incubator/mesos/branches/0.10.0/src/slave/slave.cpp Sun Nov 4 01:30:10 2012
@@ -332,7 +332,15 @@ void Slave::finalize()
void Slave::shutdown()
{
- LOG(INFO) << "Slave asked to shut down";
+ if (from != master) {
+ LOG(WARNING) << "Ignoring shutdown message from " << from
+ << "because it is not from the registered master ("
+ << master << ")";
+ return;
+ }
+
+ LOG(INFO) << "Slave asked to shut down by " << from;
+
terminate(self());
}
@@ -613,10 +621,17 @@ void Slave::killTask(const FrameworkID&
// TODO(benh): Consider sending a boolean that specifies if the
// shut down should be graceful or immediate. Likewise, consider
// sending back a shut down acknowledgement, because otherwise you
-// couuld get into a state where a shut down was sent, dropped, and
+// could get into a state where a shut down was sent, dropped, and
// therefore never processed.
void Slave::shutdownFramework(const FrameworkID& frameworkId)
{
+ if (from != master) {
+ LOG(WARNING) << "Ignoring shutdown framework message from " << from
+ << "because it is not from the registered master ("
+ << master << ")";
+ return;
+ }
+
LOG(INFO) << "Asked to shut down framework " << frameworkId;
Framework* framework = getFramework(frameworkId);