From 5dc29f0973fa810ab81eca4b55fb90be2a087965 Mon Sep 17 00:00:00 2001 From: Marcelo Vanzin Date: Tue, 5 Jul 2016 13:22:24 -0700 Subject: [PATCH] [SPARK-16385][core] Catch correct exception when calling method via reflection. Using "Method.invoke" causes an exception to be throw, not an error, so Utils.waitForProcess() was always throwing an exception when run on Java 7. --- core/src/main/scala/org/apache/spark/util/Utils.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/scala/org/apache/spark/util/Utils.scala b/core/src/main/scala/org/apache/spark/util/Utils.scala index 0c23f3cd3545..156cf1748b2a 100644 --- a/core/src/main/scala/org/apache/spark/util/Utils.scala +++ b/core/src/main/scala/org/apache/spark/util/Utils.scala @@ -1813,7 +1813,7 @@ private[spark] object Utils extends Logging { .invoke(process, timeoutMs.asInstanceOf[java.lang.Long], TimeUnit.MILLISECONDS) .asInstanceOf[Boolean] } catch { - case _: NoSuchMethodError => + case _: NoSuchMethodException => // Otherwise implement it manually var terminated = false val startTime = System.currentTimeMillis