diff options
author | Cheng Lian <lian.cs.zju@gmail.com> | 2014-10-16 16:15:55 -0700 |
---|---|---|
committer | Xiangrui Meng <meng@databricks.com> | 2014-10-16 16:15:55 -0700 |
commit | 99e416b6d64402a5432a265797a1c155a38f4e6f (patch) | |
tree | 65b3de1be5f2346dd8cbd9981cdbfc12ef33a054 | |
parent | 091d32c52e9d73da95896016c1d920e89858abfa (diff) | |
download | spark-99e416b6d64402a5432a265797a1c155a38f4e6f.tar.gz spark-99e416b6d64402a5432a265797a1c155a38f4e6f.tar.bz2 spark-99e416b6d64402a5432a265797a1c155a38f4e6f.zip |
[SQL] Fixes the race condition that may cause test failure
The removed `Future` was used to end the test case as soon as the Spark SQL CLI process exits. When the process exits prematurely, this mechanism prevents the test case to wait until timeout. But it also creates a race condition: when `foundAllExpectedAnswers.tryFailure` is called, there are chances that the last expected output line of the CLI process hasn't been caught by the main logics of the test code, thus fails the test case.
Removing this `Future` doesn't affect correctness.
Author: Cheng Lian <lian.cs.zju@gmail.com>
Closes #2823 from liancheng/clean-clisuite and squashes the following commits:
489a97c [Cheng Lian] Fixes the race condition that may cause test failure
-rw-r--r-- | sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/CliSuite.scala | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/CliSuite.scala b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/CliSuite.scala index fc97a25be3..8a72e9d2ae 100644 --- a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/CliSuite.scala +++ b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/CliSuite.scala @@ -78,12 +78,6 @@ class CliSuite extends FunSuite with BeforeAndAfterAll with Logging { val process = (Process(command) #< queryStream).run( ProcessLogger(captureOutput("stdout"), captureOutput("stderr"))) - Future { - val exitValue = process.exitValue() - foundAllExpectedAnswers.tryFailure( - new SparkException(s"Spark SQL CLI process exit value: $exitValue")) - } - try { Await.result(foundAllExpectedAnswers.future, timeout) } catch { case cause: Throwable => |