This is an automated email from the ASF dual-hosted git repository.
Abacn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new f20fca2d9e4 Add JVM --add-opens flags for Flink PVR on Java 21 (#39303)
f20fca2d9e4 is described below
commit f20fca2d9e44e9d246b06c5654a89d1c129071df
Author: Abdelrahman Ibrahim <[email protected]>
AuthorDate: Mon Jul 13 17:37:28 2026 +0300
Add JVM --add-opens flags for Flink PVR on Java 21 (#39303)
---
.../beam_PostCommit_Java_PVR_Flink_Streaming.json | 2 +-
runners/flink/job-server/flink_job_server.gradle | 25 +++++++++++++++++++++-
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git
a/.github/trigger_files/beam_PostCommit_Java_PVR_Flink_Streaming.json
b/.github/trigger_files/beam_PostCommit_Java_PVR_Flink_Streaming.json
index 2dd3a2471d8..d7f4c03aaf5 100644
--- a/.github/trigger_files/beam_PostCommit_Java_PVR_Flink_Streaming.json
+++ b/.github/trigger_files/beam_PostCommit_Java_PVR_Flink_Streaming.json
@@ -1,5 +1,5 @@
{
"comment": "Modify this file in a trivial way to cause this test suite to
run",
- "modification": 1,
+ "modification": 2,
"https://github.com/apache/beam/pull/32440": "test new datastream runner for
batch"
}
diff --git a/runners/flink/job-server/flink_job_server.gradle
b/runners/flink/job-server/flink_job_server.gradle
index a6abca5e858..46b1b5a607f 100644
--- a/runners/flink/job-server/flink_job_server.gradle
+++ b/runners/flink/job-server/flink_job_server.gradle
@@ -239,6 +239,27 @@ tasks.register("validatesPortableRunner") {
dependsOn validatesPortableRunnerStreamingCheckpoint
}
+def flinkJobServerJvmArgs() {
+ def testJavaVer = project.findProperty('testJavaVersion') ?
(project.property('testJavaVersion') as int) :
JavaVersion.current().majorVersion.toInteger()
+ if (testJavaVer >= 17) {
+ return [
+ "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED",
+ "--add-opens=java.base/java.nio=ALL-UNNAMED",
+ "--add-opens=java.base/java.util=ALL-UNNAMED",
+ "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED",
+ "--add-opens=java.base/java.lang=ALL-UNNAMED",
+ "-Djava.security.manager=allow",
+ ]
+ }
+ return []
+}
+
+[validatesPortableRunnerDocker, validatesPortableRunnerBatchDataSet,
validatesPortableRunnerBatch, validatesPortableRunnerStreaming,
validatesPortableRunnerStreamingCheckpoint].each { task ->
+ task.configure {
+ jvmArgs += flinkJobServerJvmArgs()
+ }
+}
+
def jobPort = BeamModulePlugin.getRandomPort()
def artifactPort = BeamModulePlugin.getRandomPort()
@@ -270,7 +291,9 @@ def setupTask =
project.tasks.register("flinkJobServerSetup", Exec) {
}
executable 'sh'
- args '-c', "$pythonDir/scripts/run_job_server.sh stop --group_id
${project.name} && $pythonDir/scripts/run_job_server.sh start --group_id
${project.name} --job_port ${jobPort} --artifact_port ${artifactPort}
--job_server_jar ${flinkJobServerJar} --additional_args \"${additionalArgs}\""
+ def jvmArgs = flinkJobServerJvmArgs().join(' ')
+ def jvmArgsOpt = jvmArgs ? "--jvm_args \"${jvmArgs}\"" : ""
+ args '-c', "$pythonDir/scripts/run_job_server.sh stop --group_id
${project.name} && $pythonDir/scripts/run_job_server.sh start --group_id
${project.name} --job_port ${jobPort} --artifact_port ${artifactPort}
--job_server_jar ${flinkJobServerJar} --additional_args \"${additionalArgs}\"
${jvmArgsOpt}"
}
def cleanupTask = project.tasks.register("flinkJobServerCleanup", Exec) {