You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Mattias Aspholm (JIRA)" <ji...@apache.org> on 2016/04/22 13:17:12 UTC

[jira] [Created] (SPARK-14846) Driver process fails to terminate when graceful shutdown is used

Mattias Aspholm created SPARK-14846:
---------------------------------------

             Summary: Driver process fails to terminate when graceful shutdown is used
                 Key: SPARK-14846
                 URL: https://issues.apache.org/jira/browse/SPARK-14846
             Project: Spark
          Issue Type: Bug
          Components: Streaming
    Affects Versions: 1.6.1
            Reporter: Mattias Aspholm


During shutdown, the job scheduler in Streaming (JobScheduler.stop) spends some time waiting for all queued work to complete. If graceful shutdown is used, the time is 1 hour, for non-graceful shutdown it's 2 seconds.

The wait is implemented using the ThreadPoolExecutor.awaitTermination method in java.util.concurrent. The problem is that instead of looping over the method for the desired period of time, the wait period is passed in as the timeout parameter to awaitTermination. 

The result is that if the termination condition is false the first time, the method will sleep for the timeout period before trying again. In the case of graceful shutdown this means at least an hour's wait before the condition is checked again, even though all work is completed in just a few seconds. The driver process will continue to live during this time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org