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);