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/10/04 01:37:46 UTC
svn commit: r1393827 - in /incubator/mesos/trunk/src: sched/sched.cpp
slave/slave.cpp
Author: benh
Date: Wed Oct 3 23:37:45 2012
New Revision: 1393827
URL: http://svn.apache.org/viewvc?rev=1393827&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/trunk/src/sched/sched.cpp
incubator/mesos/trunk/src/slave/slave.cpp
Modified: incubator/mesos/trunk/src/sched/sched.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/sched/sched.cpp?rev=1393827&r1=1393826&r2=1393827&view=diff
==============================================================================
--- incubator/mesos/trunk/src/sched/sched.cpp (original)
+++ incubator/mesos/trunk/src/sched/sched.cpp Wed Oct 3 23:37:45 2012
@@ -360,6 +360,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/trunk/src/slave/slave.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/slave/slave.cpp?rev=1393827&r1=1393826&r2=1393827&view=diff
==============================================================================
--- incubator/mesos/trunk/src/slave/slave.cpp (original)
+++ incubator/mesos/trunk/src/slave/slave.cpp Wed Oct 3 23:37:45 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());
}
@@ -627,10 +635,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);