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