GitHub user CodingCat opened a pull request:

    https://github.com/apache/spark/pull/639

    SPARK-1686: keep schedule() calling in the main thread

    https://issues.apache.org/jira/browse/SPARK-1686
    
    moved from original JIRA (by @markhamstra):
    
    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. 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/CodingCat/spark SPARK-1686

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/639.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #639
    
----
commit 02b37ca7e9256628e31cd56ba21d7e579c1233d6
Author: CodingCat <[email protected]>
Date:   2014-05-05T01:43:03Z

    keep schedule() calling in the main thread

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to