This is an automated email from the ASF dual-hosted git repository.

abstractdog pushed a commit to branch branch-0.9
in repository https://gitbox.apache.org/repos/asf/tez.git


The following commit(s) were added to refs/heads/branch-0.9 by this push:
     new db7cc29  TEZ-4299: Default java opts cause jdk11 to fail (#116) 
(Laszlo Bodor reviewed by Jonathan Turner Eagles)
db7cc29 is described below

commit db7cc29900905aaa3e275c9a0f4e8705e332fbdd
Author: Bodor Laszlo <[email protected]>
AuthorDate: Mon Apr 5 11:55:20 2021 +0200

    TEZ-4299: Default java opts cause jdk11 to fail (#116) (Laszlo Bodor 
reviewed by Jonathan Turner Eagles)
---
 .../java/org/apache/tez/common/TezCommonUtils.java  |  6 ++++++
 .../org/apache/tez/dag/api/TezConfiguration.java    | 21 +++++++++++++++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/tez-api/src/main/java/org/apache/tez/common/TezCommonUtils.java 
b/tez-api/src/main/java/org/apache/tez/common/TezCommonUtils.java
index 16165e2..2896297 100644
--- a/tez-api/src/main/java/org/apache/tez/common/TezCommonUtils.java
+++ b/tez-api/src/main/java/org/apache/tez/common/TezCommonUtils.java
@@ -565,4 +565,10 @@ public class TezCommonUtils {
     return 1000l * timeoutSecs;
   }
 
+  public static int getJavaVersion() {
+    String javaVersionString = System.getProperty("java.version");
+    return javaVersionString.split("\\.")[0].equals("1")
+      ? Integer.parseInt(javaVersionString.split("\\.")[1]) // "1.8" -> 8
+      : Integer.parseInt(javaVersionString.split("\\.")[0]); // "9.x" -> 9, 
"11.x" -> 11
+  }
 }
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java 
b/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
index 68b567c..bcd9c7a 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
@@ -28,6 +28,7 @@ import java.util.Set;
 
 import org.apache.tez.common.annotation.ConfigurationClass;
 import org.apache.tez.common.annotation.ConfigurationProperty;
+import org.apache.tez.common.TezCommonUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.util.concurrent.TimeUnit;
@@ -331,8 +332,11 @@ public class TezConfiguration extends Configuration {
   @ConfigurationScope(Scope.AM)
   @ConfigurationProperty
   public static final String TEZ_AM_LAUNCH_CMD_OPTS = TEZ_AM_PREFIX +  
"launch.cmd-opts";
-  public static final String TEZ_AM_LAUNCH_CMD_OPTS_DEFAULT = 
+  public static final String TEZ_AM_LAUNCH_CMD_OPTS_JDK8_DEFAULT =
       "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA 
-XX:+UseParallelGC";
+  public static final String TEZ_AM_LAUNCH_CMD_OPTS_JDK9_DEFAULT =
+      "-verbose:gc -Xlog:gc*,safepoint::time,uptime -XX:+UseNUMA 
-XX:+UseParallelGC";
+  public static final String TEZ_AM_LAUNCH_CMD_OPTS_DEFAULT;
 
   /**
    * String value. Command line options which will be prepended to {@link
@@ -356,8 +360,21 @@ public class TezConfiguration extends Configuration {
   @ConfigurationProperty
   public static final String TEZ_TASK_LAUNCH_CMD_OPTS = TEZ_TASK_PREFIX
       + "launch.cmd-opts";
-  public static final String TEZ_TASK_LAUNCH_CMD_OPTS_DEFAULT =
+  public static final String TEZ_TASK_LAUNCH_CMD_OPTS_JDK8_DEFAULT =
       "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA 
-XX:+UseParallelGC";
+  public static final String TEZ_TASK_LAUNCH_CMD_OPTS_JDK9_DEFAULT =
+      "-verbose:gc -Xlog:gc*,safepoint::time,uptime -XX:+UseNUMA 
-XX:+UseParallelGC";
+  public static final String TEZ_TASK_LAUNCH_CMD_OPTS_DEFAULT;
+
+  static {
+    if (TezCommonUtils.getJavaVersion() >= 9) {
+      TEZ_AM_LAUNCH_CMD_OPTS_DEFAULT = TEZ_AM_LAUNCH_CMD_OPTS_JDK9_DEFAULT;
+      TEZ_TASK_LAUNCH_CMD_OPTS_DEFAULT = TEZ_TASK_LAUNCH_CMD_OPTS_JDK9_DEFAULT;
+    } else {
+      TEZ_AM_LAUNCH_CMD_OPTS_DEFAULT = TEZ_AM_LAUNCH_CMD_OPTS_JDK8_DEFAULT;
+      TEZ_TASK_LAUNCH_CMD_OPTS_DEFAULT = TEZ_TASK_LAUNCH_CMD_OPTS_JDK8_DEFAULT;
+    }
+  }
 
   /**
    * Double value. Tez automatically determines the Xmx for the JVMs used to 
run

Reply via email to