Skip to content

Commit

Permalink
GG-31001 [IGNITE-13479] Control.sh script should use its own system v…
Browse files Browse the repository at this point in the history
…ariable for setting JVM options instead of JVM_OPTS (apache#1480)
  • Loading branch information
SammyVimes committed Oct 9, 2020
1 parent 367a023 commit b99a753
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 35 deletions.
39 changes: 22 additions & 17 deletions bin/control.bat
Expand Up @@ -162,31 +162,31 @@ if "%JMX_PORT%" == "" (
::
"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr "1\.[7]\." > nul
if %ERRORLEVEL% equ 0 (
if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms256m -Xmx1g
if "%CONTROL_JVM_OPTS%" == "" set CONTROL_JVM_OPTS=-Xms256m -Xmx1g
) else (
if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms256m -Xmx1g
if "%CONTROL_JVM_OPTS%" == "" set CONTROL_JVM_OPTS=-Xms256m -Xmx1g
)

::
:: Uncomment to enable experimental commands [--wal]
::
:: set JVM_OPTS=%JVM_OPTS% -DIGNITE_ENABLE_EXPERIMENTAL_COMMAND=true
:: set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -DIGNITE_ENABLE_EXPERIMENTAL_COMMAND=true

::
:: Uncomment the following GC settings if you see spikes in your throughput due to Garbage Collection.
::
:: set JVM_OPTS=%JVM_OPTS% -XX:+UseG1GC
:: set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -XX:+UseG1GC

::
:: Uncomment if you get StackOverflowError.
:: On 64 bit systems this value can be larger, e.g. -Xss16m
::
:: set JVM_OPTS=%JVM_OPTS% -Xss4m
:: set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -Xss4m

::
:: Uncomment to set preference to IPv4 stack.
::
:: set JVM_OPTS=%JVM_OPTS% -Djava.net.preferIPv4Stack=true
:: set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -Djava.net.preferIPv4Stack=true

::
:: Assertions are disabled by default since version 3.5.
Expand All @@ -197,7 +197,7 @@ set ENABLE_ASSERTIONS=1
::
:: Set '-ea' options if assertions are enabled.
::
if %ENABLE_ASSERTIONS% == 1 set JVM_OPTS=%JVM_OPTS% -ea
if %ENABLE_ASSERTIONS% == 1 set CONTROL_JVM_OPTS=%CONTROL_JVM_OPTS% -ea

:run_java

Expand All @@ -210,20 +210,20 @@ if "%MAIN_CLASS%" == "" set MAIN_CLASS=org.apache.ignite.internal.commandline.Co
::
:: Remote debugging (JPDA).
:: Uncomment and change if remote debugging is required.
:: set JVM_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787 %JVM_OPTS%
:: set CONTROL_JVM_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787 %CONTROL_JVM_OPTS%
::

::
:: Final JVM_OPTS for Java 9+ compatibility
:: Final CONTROL_JVM_OPTS for Java 9+ compatibility
::
if %MAJOR_JAVA_VER% == 8 (
set JVM_OPTS= ^
set CONTROL_JVM_OPTS= ^
-XX:+AggressiveOpts ^
%JVM_OPTS%
%CONTROL_JVM_OPTS%
)

if %MAJOR_JAVA_VER% GEQ 9 if %MAJOR_JAVA_VER% LSS 11 (
set JVM_OPTS= ^
set CONTROL_JVM_OPTS= ^
-XX:+AggressiveOpts ^
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED ^
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED ^
Expand All @@ -232,27 +232,32 @@ if %MAJOR_JAVA_VER% GEQ 9 if %MAJOR_JAVA_VER% LSS 11 (
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^
--illegal-access=permit ^
--add-modules=java.xml.bind ^
%JVM_OPTS%
%CONTROL_JVM_OPTS%
)

if %MAJOR_JAVA_VER% GEQ 11 (
set JVM_OPTS= ^
set CONTROL_JVM_OPTS= ^
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED ^
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED ^
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED ^
--illegal-access=permit ^
%JVM_OPTS%
%CONTROL_JVM_OPTS%
)

if defined JVM_OPTS (
echo JVM_OPTS environment variable is set, but will not be used. To pass JVM options use CONTROL_JVM_OPTS
echo JVM_OPTS=%JVM_OPTS%
)

if "%INTERACTIVE%" == "1" (
"%JAVA_HOME%\bin\java.exe" %JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^
"%JAVA_HOME%\bin\java.exe" %CONTROL_JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^
-DIGNITE_UPDATE_NOTIFIER=false -DIGNITE_HOME="%IGNITE_HOME%" -DIGNITE_PROG_NAME="%PROG_NAME%" %JVM_XOPTS% ^
-cp "%CP%" %MAIN_CLASS% %*
) else (
"%JAVA_HOME%\bin\java.exe" %JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^
"%JAVA_HOME%\bin\java.exe" %CONTROL_JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^
-DIGNITE_UPDATE_NOTIFIER=false -DIGNITE_HOME="%IGNITE_HOME%" -DIGNITE_PROG_NAME="%PROG_NAME%" %JVM_XOPTS% ^
-cp "%CP%" %MAIN_CLASS% %*
)
Expand Down
41 changes: 23 additions & 18 deletions bin/control.sh
Expand Up @@ -89,34 +89,34 @@ fi
#
# ADD YOUR/CHANGE ADDITIONAL OPTIONS HERE
#
if [ -z "${JVM_OPTS:-}" ] ; then
if [ -z "${CONTROL_JVM_OPTS:-}" ] ; then
if [[ `"$JAVA" -version 2>&1 | egrep "1\.[7]\."` ]]; then
JVM_OPTS="-Xms256m -Xmx1g"
CONTROL_JVM_OPTS="-Xms256m -Xmx1g"
else
JVM_OPTS="-Xms256m -Xmx1g"
CONTROL_JVM_OPTS="-Xms256m -Xmx1g"
fi
fi

#
# Uncomment to enable experimental commands [--wal]
#
# JVM_OPTS="${JVM_OPTS} -DIGNITE_ENABLE_EXPERIMENTAL_COMMAND=true"
# CONTROL_JVM_OPTS="${CONTROL_JVM_OPTS} -DIGNITE_ENABLE_EXPERIMENTAL_COMMAND=true"

#
# Uncomment the following GC settings if you see spikes in your throughput due to Garbage Collection.
#
# JVM_OPTS="$JVM_OPTS -XX:+UseG1GC"
# CONTROL_JVM_OPTS="$CONTROL_JVM_OPTS -XX:+UseG1GC"

#
# Uncomment if you get StackOverflowError.
# On 64 bit systems this value can be larger, e.g. -Xss16m
#
# JVM_OPTS="${JVM_OPTS} -Xss4m"
# CONTROL_JVM_OPTS="${CONTROL_JVM_OPTS} -Xss4m"

#
# Uncomment to set preference for IPv4 stack.
#
# JVM_OPTS="${JVM_OPTS} -Djava.net.preferIPv4Stack=true"
# CONTROL_JVM_OPTS="${CONTROL_JVM_OPTS} -Djava.net.preferIPv4Stack=true"

#
# Assertions are disabled by default since version 3.5.
Expand All @@ -128,7 +128,7 @@ ENABLE_ASSERTIONS="1"
# Set '-ea' options if assertions are enabled.
#
if [ "${ENABLE_ASSERTIONS:-}" = "1" ]; then
JVM_OPTS="${JVM_OPTS} -ea"
CONTROL_JVM_OPTS="${CONTROL_JVM_OPTS} -ea"
fi

#
Expand All @@ -142,18 +142,18 @@ fi
# Remote debugging (JPDA).
# Uncomment and change if remote debugging is required.
#
# JVM_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787 ${JVM_OPTS}"
# CONTROL_JVM_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787 ${CONTROL_JVM_OPTS}"

#
# Final JVM_OPTS for Java 9+ compatibility
# Final CONTROL_JVM_OPTS for Java 9+ compatibility
#
if [ $version -eq 8 ] ; then
JVM_OPTS="\
CONTROL_JVM_OPTS="\
-XX:+AggressiveOpts \
${JVM_OPTS}"
${CONTROL_JVM_OPTS}"

elif [ $version -gt 8 ] && [ $version -lt 11 ]; then
JVM_OPTS="\
CONTROL_JVM_OPTS="\
-XX:+AggressiveOpts \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
Expand All @@ -162,28 +162,33 @@ elif [ $version -gt 8 ] && [ $version -lt 11 ]; then
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--illegal-access=permit \
--add-modules=java.xml.bind \
${JVM_OPTS}"
${CONTROL_JVM_OPTS}"

elif [ $version -ge 11 ] ; then
JVM_OPTS="\
CONTROL_JVM_OPTS="\
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED \
--illegal-access=permit \
${JVM_OPTS}"
${CONTROL_JVM_OPTS}"
fi

if [ -n "${JVM_OPTS}" ] ; then
echo "JVM_OPTS environment variable is set, but will not be used. To pass JVM options use CONTROL_JVM_OPTS"
echo "JVM_OPTS=${JVM_OPTS}"
fi

case $osname in
Darwin*)
"$JAVA" ${JVM_OPTS} ${QUIET:-} "${DOCK_OPTS}" ${JMX_MON:-} \
"$JAVA" ${CONTROL_JVM_OPTS} ${QUIET:-} "${DOCK_OPTS}" ${JMX_MON:-} \
-DIGNITE_UPDATE_NOTIFIER=false -DIGNITE_HOME="${IGNITE_HOME}" \
-DIGNITE_PROG_NAME="$0" ${JVM_XOPTS:-} -cp "${CP}" ${MAIN_CLASS} $@
;;
*)
"$JAVA" ${JVM_OPTS} ${QUIET:-} ${JMX_MON:-} \
"$JAVA" ${CONTROL_JVM_OPTS} ${QUIET:-} ${JMX_MON:-} \
-DIGNITE_UPDATE_NOTIFIER=false -DIGNITE_HOME="${IGNITE_HOME}" \
-DIGNITE_PROG_NAME="$0" ${JVM_XOPTS:-} -cp "${CP}" ${MAIN_CLASS} $@
;;
Expand Down

0 comments on commit b99a753

Please sign in to comment.