diff options
author | Josh Rosen <joshrosen@databricks.com> | 2016-01-24 11:29:27 -0800 |
---|---|---|
committer | Josh Rosen <joshrosen@databricks.com> | 2016-01-24 11:29:27 -0800 |
commit | f4004601b00044e1d5c57e72c45b815f36feac3e (patch) | |
tree | 89b7d1265c154d383ecee34c4acb01fa2f7a23c4 | |
parent | cfdcef70ddd25484f1cb1791e529210d602c2283 (diff) | |
download | spark-f4004601b00044e1d5c57e72c45b815f36feac3e.tar.gz spark-f4004601b00044e1d5c57e72c45b815f36feac3e.tar.bz2 spark-f4004601b00044e1d5c57e72c45b815f36feac3e.zip |
[SPARK-12971] Fix Hive tests which fail in Hadoop-2.3 SBT build
ErrorPositionSuite and one of the HiveComparisonTest tests have been consistently failing on the Hadoop 2.3 SBT build (but on no other builds). I believe that this is due to test isolation issues (e.g. tests sharing state via the sets of temporary tables that are registered to TestHive).
This patch attempts to improve the isolation of these tests in order to address this issue.
Author: Josh Rosen <joshrosen@databricks.com>
Closes #10884 from JoshRosen/fix-failing-hadoop-2.3-hive-tests.
-rw-r--r-- | sql/hive/src/test/scala/org/apache/spark/sql/hive/ErrorPositionSuite.scala | 20 | ||||
-rw-r--r-- | sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveComparisonTest.scala | 6 |
2 files changed, 22 insertions, 4 deletions
diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/ErrorPositionSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/ErrorPositionSuite.scala index 14a466cfe9..4b6da7cd33 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/ErrorPositionSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/ErrorPositionSuite.scala @@ -19,20 +19,34 @@ package org.apache.spark.sql.hive import scala.util.Try -import org.scalatest.BeforeAndAfter +import org.scalatest.BeforeAndAfterEach import org.apache.spark.sql.{AnalysisException, QueryTest} import org.apache.spark.sql.catalyst.parser.ParseDriver import org.apache.spark.sql.catalyst.util.quietly import org.apache.spark.sql.hive.test.TestHiveSingleton -class ErrorPositionSuite extends QueryTest with TestHiveSingleton with BeforeAndAfter { +class ErrorPositionSuite extends QueryTest with TestHiveSingleton with BeforeAndAfterEach { import hiveContext.implicits._ - before { + override protected def beforeEach(): Unit = { + super.beforeEach() + if (sqlContext.tableNames().contains("src")) { + sqlContext.dropTempTable("src") + } + Seq((1, "")).toDF("key", "value").registerTempTable("src") Seq((1, 1, 1)).toDF("a", "a", "b").registerTempTable("dupAttributes") } + override protected def afterEach(): Unit = { + try { + sqlContext.dropTempTable("src") + sqlContext.dropTempTable("dupAttributes") + } finally { + super.afterEach() + } + } + positionTest("ambiguous attribute reference 1", "SELECT a from dupAttributes", "a") diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveComparisonTest.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveComparisonTest.scala index 2e0a8698e6..207bb814f0 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveComparisonTest.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveComparisonTest.scala @@ -150,7 +150,11 @@ abstract class HiveComparisonTest """.stripMargin }) - super.afterAll() + try { + TestHive.reset() + } finally { + super.afterAll() + } } protected def prepareAnswer( |