Skip to content

Commit 9b8b471

Browse files
committed
Configure TMP for test nodes on Windows (#39959)
This breaks on windows where TMP dir default to C:\Windows and startup fails with a permission error. I tried to create a tmp dir and pass in `TMP` env, but it lead to a class not found error, and since testclusers is already independent of the calling environment I stopped there.
1 parent 7a76587 commit 9b8b471

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

buildSrc/src/main/groovy/org/elasticsearch/gradle/test/ClusterFormationTasks.groovy

+7
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,13 @@ class ClusterFormationTasks {
719719
env(key: 'JAVA_HOME', value: project.runtimeJavaHome)
720720
}
721721
node.args.each { arg(value: it) }
722+
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
723+
// Having no TMP on Windows defaults to C:\Windows and permission errors
724+
// Since we configure ant to run with a new environment above, we need to set this to a dir we have access to
725+
File tmpDir = new File(node.baseDir, "tmp")
726+
tmpDir.mkdirs()
727+
env(key: "TMP", value: tmpDir.absolutePath)
728+
}
722729
}
723730
}
724731

distribution/src/bin/elasticsearch

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ source "`dirname "$0"`"/elasticsearch-env
1818

1919
ES_JVM_OPTIONS="$ES_PATH_CONF"/jvm.options
2020
JVM_OPTIONS=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_JVM_OPTIONS"`
21-
ES_JAVA_OPTS="${JVM_OPTIONS//\$\{ES_TMPDIR\}/$ES_TMPDIR} $ES_JAVA_OPTS"
21+
ES_JAVA_OPTS="${JVM_OPTIONS//\"\$\{ES_TMPDIR\}\"/$ES_TMPDIR} $ES_JAVA_OPTS"
2222

2323
cd "$ES_HOME"
2424
# manual parsing to find out, if process should be detached

distribution/src/config/jvm.options

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
-Dlog4j.shutdownHookEnabled=false
8787
-Dlog4j2.disable.jmx=true
8888

89-
-Djava.io.tmpdir=${ES_TMPDIR}
89+
-Djava.io.tmpdir="${ES_TMPDIR}"
9090

9191
## heap dumps
9292

0 commit comments

Comments
 (0)