diff --git a/pom.xml b/pom.xml
index 97b06bc..985b69c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -824,6 +824,7 @@
${test.tmp.dir}/conf:${basedir}/${hive.path.to.root}/conf
${test.hive.hadoop.classpath}
${spark.home}/lib/spark-assembly-${spark.version}-hadoop2.4.0.jar:${test.hive.hadoop.classpath}
+ -Dorg.xerial.snappy.tempdir=/tmp -Dorg.xerial.snappy.lib.name=libsnappyjava.jnilib
${env.PATH}${test.extra.path}
diff --git a/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java b/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java
index a30d8cb..6b919e7 100644
--- a/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java
+++ b/spark-client/src/main/java/org/apache/hive/spark/client/SparkClientImpl.java
@@ -62,6 +62,7 @@
private static final long DEFAULT_SHUTDOWN_TIMEOUT = 10000; // In milliseconds
+ private static final String OSX_TEST_OPTS = "SPARK_OSX_TEST_OPTS";
private static final String DRIVER_OPTS_KEY = "spark.driver.extraJavaOptions";
private static final String EXECUTOR_OPTS_KEY = "spark.executor.extraJavaOptions";
private static final String DRIVER_EXTRA_CLASSPATH = "spark.driver.extraClassPath";
@@ -212,10 +213,16 @@ public void run() {
sparkLogDir = sparkHome + "/logs/";
}
}
+
+ String osxTestOpts = "";
+ if (Strings.nullToEmpty(System.getProperty("os.name")).toLowerCase().contains("mac")) {
+ osxTestOpts = Strings.nullToEmpty(System.getenv(OSX_TEST_OPTS));
+ }
+
String driverJavaOpts = Joiner.on(" ").skipNulls().join(
- "-Dhive.spark.log.dir=" + sparkLogDir, conf.get(DRIVER_OPTS_KEY));
+ "-Dhive.spark.log.dir=" + sparkLogDir, osxTestOpts, conf.get(DRIVER_OPTS_KEY));
String executorJavaOpts = Joiner.on(" ").skipNulls().join(
- "-Dhive.spark.log.dir=" + sparkLogDir, conf.get(EXECUTOR_OPTS_KEY));
+ "-Dhive.spark.log.dir=" + sparkLogDir, osxTestOpts, conf.get(EXECUTOR_OPTS_KEY));
// Create a file with all the job properties to be read by spark-submit. Change the
// file's permissions so that only the owner can read it. This avoid having the