This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 762cd4d [IOTDB-2593] Fix cannot insert data using JDK17 (#5106)
762cd4d is described below
commit 762cd4ddea991dbfc6e87dcb68ad7d4564fda52e
Author: Haonan <[email protected]>
AuthorDate: Wed Feb 23 16:07:01 2022 +0800
[IOTDB-2593] Fix cannot insert data using JDK17 (#5106)
---
cluster/src/assembly/resources/sbin/add-node.bat | 2 +-
cluster/src/assembly/resources/sbin/add-node.sh | 2 +-
cluster/src/assembly/resources/sbin/start-node.bat | 2 +-
cluster/src/assembly/resources/sbin/start-node.sh | 2 +-
server/src/assembly/resources/conf/iotdb-env.bat | 11 +++++++++++
server/src/assembly/resources/conf/iotdb-env.sh | 8 ++++++++
server/src/assembly/resources/sbin/start-server.bat | 2 +-
server/src/assembly/resources/sbin/start-server.sh | 2 +-
8 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/cluster/src/assembly/resources/sbin/add-node.bat
b/cluster/src/assembly/resources/sbin/add-node.bat
index 15a708a..d272cf9 100755
--- a/cluster/src/assembly/resources/sbin/add-node.bat
+++ b/cluster/src/assembly/resources/sbin/add-node.bat
@@ -117,7 +117,7 @@ goto :eof
rem echo CLASSPATH: %CLASSPATH%
-"%JAVA_HOME%\bin\java" %JAVA_OPTS% %IOTDB_HEAP_OPTS% -cp %CLASSPATH%
%IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
+"%JAVA_HOME%\bin\java" %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %IOTDB_HEAP_OPTS%
-cp %CLASSPATH% %IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
goto finally
:err
diff --git a/cluster/src/assembly/resources/sbin/add-node.sh
b/cluster/src/assembly/resources/sbin/add-node.sh
index fdd3f65..3212999 100755
--- a/cluster/src/assembly/resources/sbin/add-node.sh
+++ b/cluster/src/assembly/resources/sbin/add-node.sh
@@ -85,7 +85,7 @@ launch_service()
iotdb_parms="$iotdb_parms -DTSFILE_HOME=${IOTDB_HOME}"
iotdb_parms="$iotdb_parms -DIOTDB_CONF=${IOTDB_CONF}"
iotdb_parms="$iotdb_parms -Dname=iotdb\.IoTDB"
- exec "$JAVA" $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" "$class" -a
+ exec "$JAVA" $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp
"$CLASSPATH" "$class" -a
return $?
}
diff --git a/cluster/src/assembly/resources/sbin/start-node.bat
b/cluster/src/assembly/resources/sbin/start-node.bat
index 4e50d8b..a16e79b 100755
--- a/cluster/src/assembly/resources/sbin/start-node.bat
+++ b/cluster/src/assembly/resources/sbin/start-node.bat
@@ -120,7 +120,7 @@ goto :eof
rem echo CLASSPATH: %CLASSPATH%
-"%JAVA_HOME%\bin\java" %JAVA_OPTS% %IOTDB_HEAP_OPTS% -cp %CLASSPATH%
%IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
+"%JAVA_HOME%\bin\java" %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %IOTDB_HEAP_OPTS%
-cp %CLASSPATH% %IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
goto finally
:err
diff --git a/cluster/src/assembly/resources/sbin/start-node.sh
b/cluster/src/assembly/resources/sbin/start-node.sh
index 001407f..31a84f5 100755
--- a/cluster/src/assembly/resources/sbin/start-node.sh
+++ b/cluster/src/assembly/resources/sbin/start-node.sh
@@ -87,7 +87,7 @@ launch_service()
iotdb_parms="$iotdb_parms -DIOTDB_CONF=${IOTDB_CONF}"
iotdb_parms="$iotdb_parms -DTSFILE_CONF=${IOTDB_CONF}"
iotdb_parms="$iotdb_parms -Dname=iotdb\.IoTDB"
- exec "$JAVA" $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" "$class"
$CONF_PARAMS
+ exec "$JAVA" $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp
"$CLASSPATH" "$class" $CONF_PARAMS
return $?
}
diff --git a/server/src/assembly/resources/conf/iotdb-env.bat
b/server/src/assembly/resources/conf/iotdb-env.bat
index cf55d4c..df6b0d6 100644
--- a/server/src/assembly/resources/conf/iotdb-env.bat
+++ b/server/src/assembly/resources/conf/iotdb-env.bat
@@ -130,6 +130,17 @@ IF "%1" equ "printgc" (
)
)
+@REM Add args for Java 11 and above, due to [JEP 396: Strongly Encapsulate JDK
Internals by Default] (https://openjdk.java.net/jeps/396)
+IF "%JAVA_VERSION%" == "8" (
+ set ILLEGAL_ACCESS_PARAMS=
+) ELSE (
+ set
ILLEGAL_ACCESS_PARAMS=--add-opens=java.base/java.util.concurrent=ALL-UNNAMED^
+ --add-opens=java.base/java.lang=ALL-UNNAMED^
+ --add-opens=java.base/java.util=ALL-UNNAMED^
+ --add-opens=java.base/java.nio=ALL-UNNAMED^
+ --add-opens=java.base/java.io=ALL-UNNAMED^
+ --add-opens=java.base/java.net=ALL-UNNAMED
+)
echo Maximum memory allocation pool = %MAX_HEAP_SIZE%, initial memory
allocation pool = %HEAP_NEWSIZE%
echo If you want to change this configuration, please check
conf/iotdb-env.sh(Unix or OS X, if you use Windows, check conf/iotdb-env.bat).
diff --git a/server/src/assembly/resources/conf/iotdb-env.sh
b/server/src/assembly/resources/conf/iotdb-env.sh
index 342ec15..8b0e016 100755
--- a/server/src/assembly/resources/conf/iotdb-env.sh
+++ b/server/src/assembly/resources/conf/iotdb-env.sh
@@ -164,6 +164,7 @@ fi
version_arr=(${JVM_VERSION//./ })
+illegal_access_params=""
#GC log path has to be defined here because it needs to access IOTDB_HOME
if [ "${version_arr[0]}" = "1" ] ; then
# Java 8
@@ -189,6 +190,13 @@ else
IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS
-Xlog:gc=info,heap*=info,age*=info,safepoint=info,promotion*=info:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760"
fi
fi
+ # Add argLine for Java 11 and above, due to [JEP 396: Strongly Encapsulate
JDK Internals by Default] (https://openjdk.java.net/jeps/396)
+ illegal_access_params="$illegal_access_params
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
+ illegal_access_params="$illegal_access_params
--add-opens=java.base/java.lang=ALL-UNNAMED"
+ illegal_access_params="$illegal_access_params
--add-opens=java.base/java.util=ALL-UNNAMED"
+ illegal_access_params="$illegal_access_params
--add-opens=java.base/java.nio=ALL-UNNAMED"
+ illegal_access_params="$illegal_access_params
--add-opens=java.base/java.io=ALL-UNNAMED"
+ illegal_access_params="$illegal_access_params
--add-opens=java.base/java.net=ALL-UNNAMED"
fi
diff --git a/server/src/assembly/resources/sbin/start-server.bat
b/server/src/assembly/resources/sbin/start-server.bat
index ffb339e..2c07383 100755
--- a/server/src/assembly/resources/sbin/start-server.bat
+++ b/server/src/assembly/resources/sbin/start-server.bat
@@ -110,7 +110,7 @@ goto :eof
rem echo CLASSPATH: %CLASSPATH%
-"%JAVA_HOME%\bin\java" %JAVA_OPTS% %IOTDB_HEAP_OPTS% -cp %CLASSPATH%
%IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
+"%JAVA_HOME%\bin\java" %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %IOTDB_HEAP_OPTS%
-cp %CLASSPATH% %IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
goto finally
:err
diff --git a/server/src/assembly/resources/sbin/start-server.sh
b/server/src/assembly/resources/sbin/start-server.sh
index a4d58fc..c1c44f3 100755
--- a/server/src/assembly/resources/sbin/start-server.sh
+++ b/server/src/assembly/resources/sbin/start-server.sh
@@ -72,7 +72,7 @@ launch_service()
iotdb_parms="$iotdb_parms -DIOTDB_CONF=${IOTDB_CONF}"
iotdb_parms="$iotdb_parms -DTSFILE_CONF=${IOTDB_CONF}"
iotdb_parms="$iotdb_parms -Dname=iotdb\.IoTDB"
- exec "$JAVA" $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" "$class"
$CONF_PARAMS
+ exec "$JAVA" $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp
"$CLASSPATH" "$class" $CONF_PARAMS
return $?
}