aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKousuke Saruta <sarutak@oss.nttdata.co.jp>2014-08-13 17:42:38 -0700
committerMichael Armbrust <michael@databricks.com>2014-08-13 17:42:38 -0700
commit905dc4b405e679feb145f5e6b35e952db2442e0d (patch)
treec9df12b12abba6ca8897dd406a2611993a99cc80
parent9fde1ff5fc114b5edb755ed40944607419b62184 (diff)
downloadspark-905dc4b405e679feb145f5e6b35e952db2442e0d.tar.gz
spark-905dc4b405e679feb145f5e6b35e952db2442e0d.tar.bz2
spark-905dc4b405e679feb145f5e6b35e952db2442e0d.zip
[SPARK-2970] [SQL] spark-sql script ends with IOException when EventLogging is enabled
Author: Kousuke Saruta <sarutak@oss.nttdata.co.jp> Closes #1891 from sarutak/SPARK-2970 and squashes the following commits: 4a2d2fe [Kousuke Saruta] Modified comment style 8bd833c [Kousuke Saruta] Modified style 6c0997c [Kousuke Saruta] Modified the timing of shutdown hook execution. It should be executed before shutdown hook of o.a.h.f.FileSystem
-rwxr-xr-xsql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLCLIDriver.scala10
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLCLIDriver.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLCLIDriver.scala
index 4d0c506c5a..4ed0f58ebc 100755
--- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLCLIDriver.scala
+++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLCLIDriver.scala
@@ -26,6 +26,8 @@ import jline.{ConsoleReader, History}
import org.apache.commons.lang.StringUtils
import org.apache.commons.logging.LogFactory
import org.apache.hadoop.conf.Configuration
+import org.apache.hadoop.fs.FileSystem
+import org.apache.hadoop.util.ShutdownHookManager
import org.apache.hadoop.hive.cli.{CliDriver, CliSessionState, OptionsProcessor}
import org.apache.hadoop.hive.common.LogUtils.LogInitializationException
import org.apache.hadoop.hive.common.{HiveInterruptCallback, HiveInterruptUtils, LogUtils}
@@ -116,13 +118,17 @@ private[hive] object SparkSQLCLIDriver {
SessionState.start(sessionState)
// Clean up after we exit
- Runtime.getRuntime.addShutdownHook(
+ /**
+ * This should be executed before shutdown hook of
+ * FileSystem to avoid race condition of FileSystem operation
+ */
+ ShutdownHookManager.get.addShutdownHook(
new Thread() {
override def run() {
SparkSQLEnv.stop()
}
}
- )
+ , FileSystem.SHUTDOWN_HOOK_PRIORITY - 1)
// "-h" option has been passed, so connect to Hive thrift server.
if (sessionState.getHost != null) {