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

enricomi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-uniffle.git


The following commit(s) were added to refs/heads/master by this push:
     new 59e509089 [#1149] fix: GC logs in JDK 11 do not include date and time 
stamps. (#1240)
59e509089 is described below

commit 59e509089baa3eb84d11b39322b5f2f4b478f97f
Author: QI Jiale <[email protected]>
AuthorDate: Tue May 28 13:13:17 2024 +0800

    [#1149] fix: GC logs in JDK 11 do not include date and time stamps. (#1240)
    
    ### What changes were proposed in this pull request?
    
    Fix GC logs in JDK 11 do not include date and time stamps
    
    ### Why are the changes needed?
    
    Fix: #1149
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Manually tested
---
 bin/start-coordinator.sh    | 25 ++++++++++++++++++++-----
 bin/start-shuffle-server.sh | 29 ++++++++++++++++++++++-------
 bin/uniffle                 | 40 +++++++++++++++++++++++++++++++---------
 3 files changed, 73 insertions(+), 21 deletions(-)

diff --git a/bin/start-coordinator.sh b/bin/start-coordinator.sh
index 6f760f49d..0417869db 100755
--- a/bin/start-coordinator.sh
+++ b/bin/start-coordinator.sh
@@ -68,20 +68,28 @@ JVM_ARGS=" -server \
           -XX:ParallelGCThreads=20 \
           -XX:ConcGCThreads=5 \
           -XX:InitiatingHeapOccupancyPercent=45 \
-          -XX:+PrintGC \
+          -XX:+PrintCommandLineFlags"
+
+GC_LOG_ARGS_LEGACY=" -XX:+PrintGC \
           -XX:+PrintAdaptiveSizePolicy \
           -XX:+PrintGCDateStamps \
           -XX:+PrintGCTimeStamps \
           -XX:+PrintTenuringDistribution \
           -XX:+PrintPromotionFailure \
           -XX:+PrintGCApplicationStoppedTime \
-          -XX:+PrintCommandLineFlags \
           -XX:+PrintGCCause \
           -XX:+PrintGCDetails \
           -Xloggc:${RSS_LOG_DIR}/gc-%t.log"
 
-JAVA11_EXTRA_ARGS=" -XX:+IgnoreUnrecognizedVMOptions \
-          -Xlog:gc:tags,time,uptime,level"
+GC_LOG_ARGS_NEW=" -XX:+IgnoreUnrecognizedVMOptions \
+          -Xlog:gc* \
+          -Xlog:gc+age=trace \
+          -Xlog:gc+heap=debug \
+          -Xlog:gc+promotion=trace \
+          -Xlog:gc+phases=debug \
+          -Xlog:gc+ref=debug \
+          -Xlog:gc+start=debug \
+          -Xlog:gc*:file=${RSS_LOG_DIR}/gc-%t.log:tags,uptime,time,level"
 
 ARGS=""
 
@@ -92,7 +100,14 @@ else
   exit 1
 fi
 
-$RUNNER $ARGS $JVM_ARGS $JAVA11_EXTRA_ARGS -cp $CLASSPATH $MAIN_CLASS --conf 
"$COORDINATOR_CONF_FILE" $@ &
+version=$($RUNNER -version 2>&1 | awk -F[\".] '/version/ {print $2}')
+if [[ "$version" -lt "9" ]]; then
+  GC_ARGS=$GC_LOG_ARGS_LEGACY
+else
+  GC_ARGS=$GC_LOG_ARGS_NEW
+fi
+
+$RUNNER $ARGS $JVM_ARGS $GC_ARGS -cp $CLASSPATH $MAIN_CLASS --conf 
"$COORDINATOR_CONF_FILE" $@ &
 
 get_pid_file_name coordinator
 echo $! >${RSS_PID_DIR}/${pid_file}
diff --git a/bin/start-shuffle-server.sh b/bin/start-shuffle-server.sh
index 3be416605..83431d69b 100755
--- a/bin/start-shuffle-server.sh
+++ b/bin/start-shuffle-server.sh
@@ -103,22 +103,30 @@ JVM_ARGS=" -server \
           -XX:G1HeapRegionSize=32m \
           -XX:+UnlockExperimentalVMOptions \
           -XX:G1NewSizePercent=10 \
-          -XX:+PrintGC \
+          -XX:+CrashOnOutOfMemoryError \
+          -XX:+ExitOnOutOfMemoryError \
+          -XX:+PrintCommandLineFlags"
+
+GC_LOG_ARGS_LEGACY=" -XX:+PrintGC \
           -XX:+PrintAdaptiveSizePolicy \
           -XX:+PrintGCDateStamps \
           -XX:+PrintGCTimeStamps \
-          -XX:+CrashOnOutOfMemoryError \
-          -XX:+ExitOnOutOfMemoryError \
           -XX:+PrintTenuringDistribution \
           -XX:+PrintPromotionFailure \
           -XX:+PrintGCApplicationStoppedTime \
-          -XX:+PrintCommandLineFlags \
           -XX:+PrintGCCause \
           -XX:+PrintGCDetails \
           -Xloggc:${RSS_LOG_DIR}/gc-%t.log"
 
-JAVA11_EXTRA_ARGS=" -XX:+IgnoreUnrecognizedVMOptions \
-          -Xlog:gc:tags,time,uptime,level"
+GC_LOG_ARGS_NEW=" -XX:+IgnoreUnrecognizedVMOptions \
+          -Xlog:gc* \
+          -Xlog:gc+age=trace \
+          -Xlog:gc+heap=debug \
+          -Xlog:gc+promotion=trace \
+          -Xlog:gc+phases=debug \
+          -Xlog:gc+ref=debug \
+          -Xlog:gc+start=debug \
+          -Xlog:gc*:file=${RSS_LOG_DIR}/gc-%t.log:tags,uptime,time,level"
 
 ARGS=""
 
@@ -129,7 +137,14 @@ else
   exit 1
 fi
 
-$RUNNER $ARGS $JVM_ARGS $JAVA11_EXTRA_ARGS $JAVA_LIB_PATH -cp $CLASSPATH 
$MAIN_CLASS --conf "$SHUFFLE_SERVER_CONF_FILE" $@ &
+version=$($RUNNER -version 2>&1 | awk -F[\".] '/version/ {print $2}')
+if [[ "$version" -lt "9" ]]; then
+  GC_ARGS=$GC_LOG_ARGS_LEGACY
+else
+  GC_ARGS=$GC_LOG_ARGS_NEW
+fi
+
+$RUNNER $ARGS $JVM_ARGS $GC_ARGS $JAVA_LIB_PATH -cp $CLASSPATH $MAIN_CLASS 
--conf "$SHUFFLE_SERVER_CONF_FILE" $@ &
 
 get_pid_file_name shuffle-server
 echo $! >${RSS_PID_DIR}/${pid_file}
diff --git a/bin/uniffle b/bin/uniffle
index 3731b2310..58ed4ad4e 100755
--- a/bin/uniffle
+++ b/bin/uniffle
@@ -60,16 +60,27 @@ function uniffle_cmd_case
           -XX:InitiatingHeapOccupancyPercent=20 \
           -XX:G1HeapRegionSize=32m \
           -XX:+UnlockExperimentalVMOptions \
-          -XX:G1NewSizePercent=10 \
-          -XX:+PrintGC \
+          -XX:G1NewSizePercent=10"
+
+      GC_LOG_ARGS_LEGACY=" -XX:+PrintGC \
           -XX:+PrintAdaptiveSizePolicy \
           -XX:+PrintGCDateStamps \
           -XX:+PrintGCTimeStamps \
           -XX:+PrintGCDetails \
           -Xloggc:${RSS_LOG_DIR}/gc-%t.log"
 
-      JAVA11_EXTRA_ARGS=" -XX:+IgnoreUnrecognizedVMOptions \
-          -Xlog:gc:tags,time,uptime,level"
+      GC_LOG_ARGS_NEW=" -XX:+IgnoreUnrecognizedVMOptions \
+          -Xlog:gc* \
+          -Xlog:gc+heap=debug \
+          -Xlog:gc:file=${RSS_LOG_DIR}/gc-%t.log:tags,uptime,time,level"
+
+      version=$(${JAVA} -version 2>&1 | awk -F[\".] '/version/ {print $2}')
+      if [[ "$version" -lt "9" ]]; then
+        GC_ARGS=$GC_LOG_ARGS_LEGACY
+      else
+        GC_ARGS=$GC_LOG_ARGS_NEW
+      fi
+
       UNIFFLE_OPTS="$UNIFFLE_OPTS $JVM_ARGS $JAVA11_EXTRA_ARGS"
 
       UNIFFLE_SUBCMD_SUPPORT_DAEMONIZATION="true"
@@ -85,17 +96,28 @@ function uniffle_cmd_case
           -XX:MaxGCPauseMillis=200 \
           -XX:ParallelGCThreads=20 \
           -XX:ConcGCThreads=5 \
-          -XX:InitiatingHeapOccupancyPercent=45 \
-          -XX:+PrintGC \
+          -XX:InitiatingHeapOccupancyPercent=45”
+
+      GC_LOG_ARGS_LEGACY=" -XX:+PrintGC \
           -XX:+PrintAdaptiveSizePolicy \
           -XX:+PrintGCDateStamps \
           -XX:+PrintGCTimeStamps \
           -XX:+PrintGCDetails \
           -Xloggc:${RSS_LOG_DIR}/gc-%t.log"
 
-      JAVA11_EXTRA_ARGS=" -XX:+IgnoreUnrecognizedVMOptions \
-          -Xlog:gc:tags,time,uptime,level"
-      UNIFFLE_OPTS="$UNIFFLE_OPTS $JVM_ARGS $JAVA11_EXTRA_ARGS"
+      GC_LOG_ARGS_NEW=" -XX:+IgnoreUnrecognizedVMOptions \
+          -Xlog:gc* \
+          -Xlog:gc+heap=debug \
+          -Xlog:gc:file=${RSS_LOG_DIR}/gc-%t.log:tags,uptime,time,level"
+
+      version=$(${JAVA} -version 2>&1 | awk -F[\".] '/version/ {print $2}')
+      if [[ "$version" -lt "9" ]]; then
+        GC_ARGS=$GC_LOG_ARGS_LEGACY
+      else
+        GC_ARGS=$GC_LOG_ARGS_NEW
+      fi
+
+      UNIFFLE_OPTS="$UNIFFLE_OPTS $JVM_ARGS $GC_ARGS"
 
       UNIFFLE_SUBCMD_SUPPORT_DAEMONIZATION="true"
       RSS_CONF_FILE="${RSS_CONF_DIR}/coordinator.conf"

Reply via email to