diff options
author | Yin Huai <yhuai@databricks.com> | 2015-06-17 14:52:43 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2015-06-17 14:52:43 -0700 |
commit | 302556ff999ba9a1960281de6932e0d904197204 (patch) | |
tree | 6849efa772cb6af48df6ba1e0fb221b3e2e79c0a /sql/hive/src/test | |
parent | 7f05b1fe696daa28fee514c9aef805be5913cfcd (diff) | |
download | spark-302556ff999ba9a1960281de6932e0d904197204.tar.gz spark-302556ff999ba9a1960281de6932e0d904197204.tar.bz2 spark-302556ff999ba9a1960281de6932e0d904197204.zip |
[SPARK-8306] [SQL] AddJar command needs to set the new class loader to the HiveConf inside executionHive.state.
https://issues.apache.org/jira/browse/SPARK-8306
I will try to add a test later.
marmbrus aarondav
Author: Yin Huai <yhuai@databricks.com>
Closes #6758 from yhuai/SPARK-8306 and squashes the following commits:
1292346 [Yin Huai] [SPARK-8306] AddJar command needs to set the new class loader to the HiveConf inside executionHive.state.
Diffstat (limited to 'sql/hive/src/test')
-rw-r--r-- | sql/hive/src/test/resources/hive-contrib-0.13.1.jar | bin | 0 -> 114878 bytes | |||
-rw-r--r-- | sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala | 28 |
2 files changed, 28 insertions, 0 deletions
diff --git a/sql/hive/src/test/resources/hive-contrib-0.13.1.jar b/sql/hive/src/test/resources/hive-contrib-0.13.1.jar Binary files differnew file mode 100644 index 0000000000..ce0740d924 --- /dev/null +++ b/sql/hive/src/test/resources/hive-contrib-0.13.1.jar diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala index f8908760cc..984d97d27b 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala @@ -934,4 +934,32 @@ class SQLQuerySuite extends QueryTest { sql("set hive.exec.dynamic.partition.mode=strict") } } + + test("Call add jar in a different thread (SPARK-8306)") { + @volatile var error: Option[Throwable] = None + val thread = new Thread { + override def run() { + // To make sure this test works, this jar should not be loaded in another place. + TestHive.sql( + s"ADD JAR ${TestHive.getHiveFile("hive-contrib-0.13.1.jar").getCanonicalPath()}") + try { + TestHive.sql( + """ + |CREATE TEMPORARY FUNCTION example_max + |AS 'org.apache.hadoop.hive.contrib.udaf.example.UDAFExampleMax' + """.stripMargin) + } catch { + case throwable: Throwable => + error = Some(throwable) + } + } + } + thread.start() + thread.join() + error match { + case Some(throwable) => + fail("CREATE TEMPORARY FUNCTION should not fail.", throwable) + case None => // OK + } + } } |