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"