Skip to content

Commit 9321e32

Browse files
authored
HADOOP-19310. Add JPMS options required by Java 17+ (apache#7114) Contributed by Cheng Pan.
Reviewed-by: Attila Doroszlai <[email protected]> Signed-off-by: Shilun Fan <[email protected]>
1 parent e4b0700 commit 9321e32

File tree

6 files changed

+25
-3
lines changed
  • hadoop-common-project
  • hadoop-project
  • hadoop-tools
  • hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests

6 files changed

+25
-3
lines changed

hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh

+9
Original file line numberDiff line numberDiff line change
@@ -1571,12 +1571,21 @@ function hadoop_finalize_hadoop_opts
15711571

15721572
## @description Finish configuring JPMS that enforced for JDK 17 and higher
15731573
## @description prior to executing Java
1574+
## @description keep this list sync with hadoop-project/pom.xml extraJavaTestArgs
15741575
## @audience private
15751576
## @stability evolving
15761577
## @replaceable yes
15771578
function hadoop_finalize_jpms_opts
15781579
{
15791580
hadoop_add_param HADOOP_OPTS IgnoreUnrecognizedVMOptions "-XX:+IgnoreUnrecognizedVMOptions"
1581+
hadoop_add_param HADOOP_OPTS open.java.io "--add-opens=java.base/java.io=ALL-UNNAMED"
1582+
hadoop_add_param HADOOP_OPTS open.java.lang "--add-opens=java.base/java.lang=ALL-UNNAMED"
1583+
hadoop_add_param HADOOP_OPTS open.java.lang.reflect "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
1584+
hadoop_add_param HADOOP_OPTS open.java.math "--add-opens=java.base/java.math=ALL-UNNAMED"
1585+
hadoop_add_param HADOOP_OPTS open.java.net "--add-opens=java.base/java.net=ALL-UNNAMED"
1586+
hadoop_add_param HADOOP_OPTS open.java.text "--add-opens=java.base/java.text=ALL-UNNAMED"
1587+
hadoop_add_param HADOOP_OPTS open.java.util "--add-opens=java.base/java.util=ALL-UNNAMED"
1588+
hadoop_add_param HADOOP_OPTS open.java.util.concurrent "--add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
15801589
hadoop_add_param HADOOP_OPTS open.java.util.zip "--add-opens=java.base/java.util.zip=ALL-UNNAMED"
15811590
hadoop_add_param HADOOP_OPTS open.sun.security.util "--add-opens=java.base/sun.security.util=ALL-UNNAMED"
15821591
hadoop_add_param HADOOP_OPTS open.sun.security.x509 "--add-opens=java.base/sun.security.x509=ALL-UNNAMED"

hadoop-common-project/hadoop-registry/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@
233233
<configuration>
234234
<reuseForks>false</reuseForks>
235235
<forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
236-
<argLine>-Xmx1024m -XX:+HeapDumpOnOutOfMemoryError</argLine>
236+
<argLine>${maven-surefire-plugin.argLine} -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError</argLine>
237237
<environmentVariables>
238238
<!-- HADOOP_HOME required for tests on Windows to find winutils -->
239239
<HADOOP_HOME>${hadoop.common.build.dir}</HADOOP_HOME>

hadoop-project/pom.xml

+11
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,19 @@
167167
<enforced.java.version>[${javac.version},)</enforced.java.version>
168168
<enforced.maven.version>[3.3.0,)</enforced.maven.version>
169169

170+
<!-- keep this list sync with
171+
hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh#hadoop_finalize_jpms_opts
172+
-->
170173
<extraJavaTestArgs>
171174
-XX:+IgnoreUnrecognizedVMOptions
175+
--add-opens=java.base/java.io=ALL-UNNAMED
176+
--add-opens=java.base/java.lang=ALL-UNNAMED
177+
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
178+
--add-opens=java.base/java.math=ALL-UNNAMED
179+
--add-opens=java.base/java.net=ALL-UNNAMED
180+
--add-opens=java.base/java.text=ALL-UNNAMED
181+
--add-opens=java.base/java.util=ALL-UNNAMED
182+
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
172183
--add-opens=java.base/java.util.zip=ALL-UNNAMED
173184
--add-opens=java.base/sun.security.util=ALL-UNNAMED
174185
--add-opens=java.base/sun.security.x509=ALL-UNNAMED

hadoop-tools/hadoop-distcp/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
<forkCount>1</forkCount>
144144
<reuseForks>false</reuseForks>
145145
<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
146-
<argLine>-Xmx1024m</argLine>
146+
<argLine>${maven-surefire-plugin.argLine} -Xmx1024m</argLine>
147147
<includes>
148148
<include>**/Test*.java</include>
149149
</includes>

hadoop-tools/hadoop-federation-balance/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@
147147
<forkCount>1</forkCount>
148148
<reuseForks>false</reuseForks>
149149
<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
150-
<argLine>-Xmx1024m</argLine>
150+
<argLine>${maven-surefire-plugin.argLine} -Xmx1024m</argLine>
151151
<includes>
152152
<include>**/Test*.java</include>
153153
</includes>

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml

+2
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,8 @@
491491
</plugin>
492492
<!-- The fork value is deliberately set to 0 to avoid VM crash while running tests
493493
on Jenkins, removing this leads to tests crashing silently due to VM crash -->
494+
<!-- TODO: we should investigate and address the crash issue and re-enable fork,
495+
otherwise, JPMS args does not take effect -->
494496
<plugin>
495497
<artifactId>maven-surefire-plugin</artifactId>
496498
<configuration>

0 commit comments

Comments
 (0)