Skip to content
Snippets Groups Projects
Commit 1fe27612 authored by Shivaram Venkataraman's avatar Shivaram Venkataraman
Browse files

[SPARK-22344][SPARKR] Set java.io.tmpdir for SparkR tests

This PR sets the java.io.tmpdir for CRAN checks and also disables the hsperfdata for the JVM when running CRAN checks. Together this prevents files from being left behind in `/tmp`

## How was this patch tested?
Tested manually on a clean EC2 machine

Author: Shivaram Venkataraman <shivaram@cs.berkeley.edu>

Closes #19589 from shivaram/sparkr-tmpdir-clean.
parent 659acf18
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,8 @@
context("basic tests for CRAN")
test_that("create DataFrame from list or data.frame", {
sparkR.session(master = sparkRTestMaster, enableHiveSupport = FALSE)
sparkR.session(master = sparkRTestMaster, enableHiveSupport = FALSE,
sparkConfig = sparkRTestConfig)
i <- 4
df <- createDataFrame(data.frame(dummy = 1:i))
......@@ -49,7 +50,8 @@ test_that("create DataFrame from list or data.frame", {
})
test_that("spark.glm and predict", {
sparkR.session(master = sparkRTestMaster, enableHiveSupport = FALSE)
sparkR.session(master = sparkRTestMaster, enableHiveSupport = FALSE,
sparkConfig = sparkRTestConfig)
training <- suppressWarnings(createDataFrame(iris))
# gaussian family
......
......@@ -36,8 +36,17 @@ invisible(lapply(sparkRWhitelistSQLDirs,
sparkRFilesBefore <- list.files(path = sparkRDir, all.files = TRUE)
sparkRTestMaster <- "local[1]"
sparkRTestConfig <- list()
if (identical(Sys.getenv("NOT_CRAN"), "true")) {
sparkRTestMaster <- ""
} else {
# Disable hsperfdata on CRAN
old_java_opt <- Sys.getenv("_JAVA_OPTIONS")
Sys.setenv("_JAVA_OPTIONS" = paste("-XX:-UsePerfData", old_java_opt))
tmpDir <- tempdir()
tmpArg <- paste0("-Djava.io.tmpdir=", tmpDir)
sparkRTestConfig <- list(spark.driver.extraJavaOptions = tmpArg,
spark.executor.extraJavaOptions = tmpArg)
}
test_package("SparkR")
......
......@@ -36,6 +36,12 @@ opts_hooks$set(eval = function(options) {
}
options
})
r_tmp_dir <- tempdir()
tmp_arg <- paste("-Djava.io.tmpdir=", r_tmp_dir, sep = "")
sparkSessionConfig <- list(spark.driver.extraJavaOptions = tmp_arg,
spark.executor.extraJavaOptions = tmp_arg)
old_java_opt <- Sys.getenv("_JAVA_OPTIONS")
Sys.setenv("_JAVA_OPTIONS" = paste("-XX:-UsePerfData", old_java_opt, sep = " "))
```
## Overview
......@@ -57,7 +63,7 @@ We use default settings in which it runs in local mode. It auto downloads Spark
```{r, include=FALSE}
install.spark()
sparkR.session(master = "local[1]")
sparkR.session(master = "local[1]", sparkConfig = sparkSessionConfig, enableHiveSupport = FALSE)
```
```{r, eval=FALSE}
sparkR.session()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment