Github user vanzin commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20388#discussion_r163938633
  
    --- Diff: 
launcher/src/main/java/org/apache/spark/launcher/AbstractAppHandle.java ---
    @@ -29,15 +30,15 @@
     
       private final LauncherServer server;
     
    -  private LauncherConnection connection;
    +  private LauncherServer.ServerConnection connection;
       private List<Listener> listeners;
    -  private State state;
    +  private AtomicReference<State> state;
    --- End diff --
    
    With the new code, synchronization would cause a deadlock.
    
    - handle calls `closeAndWait()` inside synchronized block which joins 
connection thread
    - connection thread would call `setState()` on the handle and cause a 
deadlock
    
    Changing the state should be as thread-safe as before with the new code.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to