Mark Hamstra created SPARK-1686:
-----------------------------------

             Summary: Master switches thread when ElectedLeader
                 Key: SPARK-1686
                 URL: https://issues.apache.org/jira/browse/SPARK-1686
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 0.9.0, 1.0.0
            Reporter: Mark Hamstra


In deploy.master.Master, the completeRecovery method is the last thing to be 
called when a standalone Master is recovering from failure.  It is responsible 
for resetting some state, relaunching drivers, and eventually resuming its 
scheduling duties.

There are currently four places in Master.scala where completeRecovery is 
called.  Three of them are from within the actor's receive method, and aren't 
problems.  The last starts from within receive when the ElectedLeader message 
is received, but the actual completeRecovery() call is made from the Akka 
scheduler.  That means that it will execute on a different scheduler thread, 
and Master itself will end up running (i.e., schedule() ) from that Akka 
scheduler thread.  Among other things, that means that uncaught exception 
handling will be different -- https://issues.apache.org/jira/browse/SPARK-1620 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to