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

    https://github.com/apache/spark/pull/22623#discussion_r223447961
  
    --- Diff: 
core/src/test/scala/org/apache/spark/deploy/SparkSubmitSuite.scala ---
    @@ -74,20 +74,26 @@ trait TestPrematureExit {
         @volatile var exitedCleanly = false
         mainObject.exitFn = (_) => exitedCleanly = true
     
    +    var message: String = null
         val thread = new Thread {
           override def run() = try {
             mainObject.main(input)
           } catch {
             // If exceptions occur after the "exit" has happened, fine to 
ignore them.
             // These represent code paths not reachable during normal 
execution.
    -        case e: Exception => if (!exitedCleanly) throw e
    +        case e: Exception =>
    +          message = e.getMessage
    +          if (!(exitedCleanly || message.contains(searchString))) {
    --- End diff --
    
    I actually wonder if throwing this exception below is actually doing 
anything? `thread.join()` will not throw it in the test thread, which is what 
would actually matter.
    
    So it seems that to achieve what the comment above says, you should do just 
this instead:
    
    ```
    if (!exitedCleanly) {
      message = e.getMessage
    }
    ```



---

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

Reply via email to