You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by gu...@apache.org on 2020/05/04 06:01:12 UTC
[spark] branch branch-3.0 updated: [SPARK-31626][SQL] Port
HIVE-10415: hive.start.cleanup.scratchdir configuration is not taking
effect
This is an automated email from the ASF dual-hosted git repository.
gurwls223 pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 8584f4d [SPARK-31626][SQL] Port HIVE-10415: hive.start.cleanup.scratchdir configuration is not taking effect
8584f4d is described below
commit 8584f4de9e37bfd4da2e5cb55aa767873766f0ba
Author: Yuming Wang <yu...@ebay.com>
AuthorDate: Mon May 4 14:59:33 2020 +0900
[SPARK-31626][SQL] Port HIVE-10415: hive.start.cleanup.scratchdir configuration is not taking effect
### What changes were proposed in this pull request?
This pr port [HIVE-10415](https://issues.apache.org/jira/browse/HIVE-10415): `hive.start.cleanup.scratchdir` configuration is not taking effect.
### Why are the changes needed?
I encountered this issue:
![image](https://user-images.githubusercontent.com/5399861/80869375-aeafd080-8cd2-11ea-8573-93ec4b422be1.png)
I'd like to make `hive.start.cleanup.scratchdir` effective to reduce this issue.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Unit test
Closes #28436 from wangyum/SPARK-31626.
Authored-by: Yuming Wang <yu...@ebay.com>
Signed-off-by: HyukjinKwon <gu...@apache.org>
(cherry picked from commit 7ef0b69a92db91d0c09e65eb9dcfb973def71814)
Signed-off-by: HyukjinKwon <gu...@apache.org>
---
.../sql/hive/thriftserver/HiveThriftServer2.scala | 3 ++
.../thriftserver/HiveThriftServer2Suites.scala | 33 ++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2.scala
index f15193b..f9f2cee 100644
--- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2.scala
+++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2.scala
@@ -20,6 +20,7 @@ package org.apache.spark.sql.hive.thriftserver
import java.util.Locale
import java.util.concurrent.atomic.AtomicBoolean
+import org.apache.hadoop.hive.common.ServerUtils
import org.apache.hadoop.hive.conf.HiveConf
import org.apache.hadoop.hive.conf.HiveConf.ConfVars
import org.apache.hive.service.cli.thrift.{ThriftBinaryCLIService, ThriftHttpCLIService}
@@ -101,6 +102,8 @@ object HiveThriftServer2 extends Logging {
SparkSQLEnv.sqlContext.sessionState.newHadoopConf())
try {
+ // Cleanup the scratch dir before starting
+ ServerUtils.cleanUpScratchDir(executionHive.conf)
val server = new HiveThriftServer2(SparkSQLEnv.sqlContext)
server.init(executionHive.conf)
server.start()
diff --git a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
index 639dc4d..0cec634 100644
--- a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
+++ b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/HiveThriftServer2Suites.scala
@@ -924,6 +924,39 @@ class SingleSessionSuite extends HiveThriftJdbcTest {
}
}
+class HiveThriftCleanUpScratchDirSuite extends HiveThriftJdbcTest{
+ var tempScratchDir: File = _
+
+ override protected def beforeAll(): Unit = {
+ tempScratchDir = Utils.createTempDir()
+ tempScratchDir.setWritable(true, false)
+ assert(tempScratchDir.list().isEmpty)
+ new File(tempScratchDir.getAbsolutePath + File.separator + "SPARK-31626").createNewFile()
+ assert(tempScratchDir.list().nonEmpty)
+ super.beforeAll()
+ }
+
+ override def mode: ServerMode.Value = ServerMode.binary
+
+ override protected def extraConf: Seq[String] =
+ s" --hiveconf ${ConfVars.HIVE_START_CLEANUP_SCRATCHDIR}=true " ::
+ s"--hiveconf ${ConfVars.SCRATCHDIR}=${tempScratchDir.getAbsolutePath}" :: Nil
+
+ test("Cleanup the Hive scratchdir when starting the Hive Server") {
+ assert(!tempScratchDir.exists())
+ withJdbcStatement() { statement =>
+ val rs = statement.executeQuery("SELECT id FROM range(1)")
+ assert(rs.next())
+ assert(rs.getLong(1) === 0L)
+ }
+ }
+
+ override protected def afterAll(): Unit = {
+ Utils.deleteRecursively(tempScratchDir)
+ super.afterAll()
+ }
+}
+
class HiveThriftHttpServerSuite extends HiveThriftJdbcTest {
override def mode: ServerMode.Value = ServerMode.http
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org