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

    https://github.com/apache/spark/pull/19217#discussion_r146492057
  
    --- Diff: 
launcher/src/main/java/org/apache/spark/launcher/LauncherServer.java ---
    @@ -232,20 +232,20 @@ public void run() {
             };
             ServerConnection clientConnection = new ServerConnection(client, 
timeout);
             Thread clientThread = factory.newThread(clientConnection);
    -        synchronized (timeout) {
    -          clientThread.start();
    -          synchronized (clients) {
    -            clients.add(clientConnection);
    -          }
    -          long timeoutMs = getConnectionTimeout();
    -          // 0 is used for testing to avoid issues with clock resolution / 
thread scheduling,
    -          // and force an immediate timeout.
    -          if (timeoutMs > 0) {
    -            timeoutTimer.schedule(timeout, getConnectionTimeout());
    -          } else {
    -            timeout.run();
    -          }
    +        synchronized (clients) {
    +          clients.add(clientConnection);
    --- End diff --
    
    we are now adding to `clients` before starting the `clientThread` instead 
of after.  What's the expected ordering for these two operations?


---

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

Reply via email to