@@ -180,13 +180,29 @@ if (use_override) {
180180 }
181181}
182182
183+ def flinkTestJvmArgs () {
184+ def testJavaVer = project. findProperty(' testJavaVersion' ) ? (project. property(' testJavaVersion' ) as int ) : JavaVersion . current(). majorVersion. toInteger()
185+ if (testJavaVer >= 17 ) {
186+ return [
187+ " --add-opens=java.base/sun.nio.ch=ALL-UNNAMED" ,
188+ " --add-opens=java.base/java.nio=ALL-UNNAMED" ,
189+ " --add-opens=java.base/java.util=ALL-UNNAMED" ,
190+ " --add-opens=java.base/java.lang.invoke=ALL-UNNAMED" ,
191+ " --add-opens=java.base/java.lang=ALL-UNNAMED" ,
192+ ]
193+ } else {
194+ return []
195+ }
196+ }
197+
183198test {
184199 systemProperty " log4j.configuration" , " log4j-test.properties"
185200 // Change log level to debug:
186201 // systemProperty "org.slf4j.simpleLogger.defaultLogLevel", "debug"
187202 // Change log level to debug only for the package and nested packages:
188203 // systemProperty "org.slf4j.simpleLogger.log.org.apache.beam.runners.flink.translation.wrappers.streaming", "debug"
189204 jvmArgs " -XX:-UseGCOverheadLimit"
205+ jvmArgs + = flinkTestJvmArgs()
190206 if (System . getProperty(" beamSurefireArgline" )) {
191207 jvmArgs System . getProperty(" beamSurefireArgline" )
192208 }
@@ -315,6 +331,7 @@ def createValidatesRunnerTask(Map m) {
315331 group = " Verification"
316332 // Disable gradle cache
317333 outputs. upToDateWhen { false }
334+ jvmArgs + = flinkTestJvmArgs()
318335 def runnerType = config. streaming ? " streaming" : " batch"
319336 description = " Validates the ${ runnerType} runner"
320337 def pipelineOptionsArray = [" --runner=TestFlinkRunner" ,
@@ -421,6 +438,7 @@ tasks.register("validatesRunnerSickbay", Test) {
421438 systemProperty " beamTestPipelineOptions" , JsonOutput . toJson([
422439 " --runner=TestFlinkRunner" ,
423440 ])
441+ jvmArgs + = flinkTestJvmArgs()
424442
425443 classpath = configurations. validatesRunner
426444 testClassesDirs = files(project(" :sdks:java:core" ). sourceSets. test. output. classesDirs)
@@ -443,6 +461,7 @@ tasks.register("examplesIntegrationTest", Test) {
443461 group = " Verification"
444462 // Disable gradle cache
445463 outputs. upToDateWhen { false }
464+ jvmArgs + = flinkTestJvmArgs()
446465 def pipelineOptionsArray = [" --runner=TestFlinkRunner" ,
447466 " --parallelism=2" ,
448467 " --tempLocation=${ tempLocation} " ,
0 commit comments