From 736d0a8f6e709cf84895438355612456edc2fdb3 Mon Sep 17 00:00:00 2001 From: Stan Zhai Date: Thu, 28 Jun 2018 21:44:01 +0800 Subject: [PATCH 1/2] fix spark.executorEnv.JAVA_HOME --- .../org/apache/spark/launcher/AbstractCommandBuilder.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java b/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java index ce24400f557cd..765e0fedc7851 100644 --- a/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java +++ b/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java @@ -95,10 +95,12 @@ List buildJavaCommand(String extraClassPath) throws IOException { if (javaHome != null) { cmd.add(join(File.separator, javaHome, "bin", "java")); + } else if (childEnv.containsKey("JAVA_HOME")) { + cmd.add(join(File.separator, childEnv.get("JAVA_HOME"), "bin", "java")); } else if ((envJavaHome = System.getenv("JAVA_HOME")) != null) { - cmd.add(join(File.separator, envJavaHome, "bin", "java")); + cmd.add(join(File.separator, envJavaHome, "bin", "java")); } else { - cmd.add(join(File.separator, System.getProperty("java.home"), "bin", "java")); + cmd.add(join(File.separator, System.getProperty("java.home"), "bin", "java")); } // Load extra JAVA_OPTS from conf/java-opts, if it exists. From b9c2923200631294642789916e1a67e891e9e1f0 Mon Sep 17 00:00:00 2001 From: Stan Zhai Date: Mon, 17 Dec 2018 18:55:01 +0800 Subject: [PATCH 2/2] update code style --- .../launcher/AbstractCommandBuilder.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java b/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java index 765e0fedc7851..56edceb17bfb8 100644 --- a/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java +++ b/launcher/src/main/java/org/apache/spark/launcher/AbstractCommandBuilder.java @@ -91,16 +91,18 @@ abstract List buildCommand(Map env) */ List buildJavaCommand(String extraClassPath) throws IOException { List cmd = new ArrayList<>(); - String envJavaHome; - if (javaHome != null) { - cmd.add(join(File.separator, javaHome, "bin", "java")); - } else if (childEnv.containsKey("JAVA_HOME")) { - cmd.add(join(File.separator, childEnv.get("JAVA_HOME"), "bin", "java")); - } else if ((envJavaHome = System.getenv("JAVA_HOME")) != null) { - cmd.add(join(File.separator, envJavaHome, "bin", "java")); - } else { - cmd.add(join(File.separator, System.getProperty("java.home"), "bin", "java")); + String[] candidateJavaHomes = new String[] { + javaHome, + childEnv.get("JAVA_HOME"), + System.getenv("JAVA_HOME"), + System.getProperty("java.home") + }; + for (String javaHome : candidateJavaHomes) { + if (javaHome != null) { + cmd.add(join(File.separator, javaHome, "bin", "java")); + break; + } } // Load extra JAVA_OPTS from conf/java-opts, if it exists.