-
- Downloads
[SPARK-11655][CORE] Fix deadlock in handling of launcher stop().
The stop() callback was trying to close the launcher connection in the same thread that handles connection data, which ended up causing a deadlock. So avoid that by dispatching the stop() request in its own thread. On top of that, add some exception safety to a few parts of the code, and use "destroyForcibly" from Java 8 if it's available, to force kill the child process. The flip side is that "kill()" may not actually work if running Java 7. Author: Marcelo Vanzin <vanzin@cloudera.com> Closes #9633 from vanzin/SPARK-11655.
Showing
- core/src/main/scala/org/apache/spark/launcher/LauncherBackend.scala 10 additions, 2 deletions...ain/scala/org/apache/spark/launcher/LauncherBackend.scala
- core/src/main/scala/org/apache/spark/scheduler/cluster/SparkDeploySchedulerBackend.scala 11 additions, 9 deletions...spark/scheduler/cluster/SparkDeploySchedulerBackend.scala
- launcher/src/main/java/org/apache/spark/launcher/ChildProcAppHandle.java 15 additions, 2 deletions...in/java/org/apache/spark/launcher/ChildProcAppHandle.java
- launcher/src/main/java/org/apache/spark/launcher/SparkAppHandle.java 3 additions, 0 deletions...c/main/java/org/apache/spark/launcher/SparkAppHandle.java
Loading
Please register or sign in to comment