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 48eab4f5262 Add Spark JVM --add-opens for (Nexmark, TPC-DS,
PortableJar) (#39337)
48eab4f5262 is described below
commit 48eab4f526289a49e1483a3935b758a6b9f84a19
Author: Abdelrahman Ibrahim <[email protected]>
AuthorDate: Wed Jul 15 15:27:09 2026 +0300
Add Spark JVM --add-opens for (Nexmark, TPC-DS, PortableJar) (#39337)
---
.../trigger_files/beam_PostCommit_Java_Nexmark_Spark.json | 4 ++++
.../trigger_files/beam_PostCommit_Java_Tpcds_Spark.json | 4 ++++
.../trigger_files/beam_PostCommit_PortableJar_Spark.json | 4 ++++
runners/portability/test_pipeline_jar.sh | 11 ++++++++++-
sdks/java/testing/nexmark/build.gradle | 14 ++++++++++++++
sdks/java/testing/tpcds/build.gradle | 14 ++++++++++++++
6 files changed, 50 insertions(+), 1 deletion(-)
diff --git a/.github/trigger_files/beam_PostCommit_Java_Nexmark_Spark.json
b/.github/trigger_files/beam_PostCommit_Java_Nexmark_Spark.json
new file mode 100644
index 00000000000..e3d6056a5de
--- /dev/null
+++ b/.github/trigger_files/beam_PostCommit_Java_Nexmark_Spark.json
@@ -0,0 +1,4 @@
+{
+ "comment": "Modify this file in a trivial way to cause this test suite to
run",
+ "modification": 1
+}
diff --git a/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json
b/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json
new file mode 100644
index 00000000000..e3d6056a5de
--- /dev/null
+++ b/.github/trigger_files/beam_PostCommit_Java_Tpcds_Spark.json
@@ -0,0 +1,4 @@
+{
+ "comment": "Modify this file in a trivial way to cause this test suite to
run",
+ "modification": 1
+}
diff --git a/.github/trigger_files/beam_PostCommit_PortableJar_Spark.json
b/.github/trigger_files/beam_PostCommit_PortableJar_Spark.json
new file mode 100644
index 00000000000..e3d6056a5de
--- /dev/null
+++ b/.github/trigger_files/beam_PostCommit_PortableJar_Spark.json
@@ -0,0 +1,4 @@
+{
+ "comment": "Modify this file in a trivial way to cause this test suite to
run",
+ "modification": 1
+}
diff --git a/runners/portability/test_pipeline_jar.sh
b/runners/portability/test_pipeline_jar.sh
index f01d67b6580..871a604e319 100755
--- a/runners/portability/test_pipeline_jar.sh
+++ b/runners/portability/test_pipeline_jar.sh
@@ -123,7 +123,16 @@ OUTPUT_JAR="test-pipeline-${RUNNER}-$(date
+%Y%m%d-%H%M%S).jar"
if [[ "$TEST_EXIT_CODE" -eq 0 ]]; then
# Execute the jar
- java -jar $OUTPUT_JAR || TEST_EXIT_CODE=$?
+ JAVA_ARGS=()
+ if [[ "$RUNNER" = "SparkRunner" ]]; then
+ JAVA_ARGS+=(
+ "--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"
+ )
+ fi
+ java "${JAVA_ARGS[@]}" -jar $OUTPUT_JAR || TEST_EXIT_CODE=$?
fi
rm -rf $ENV_DIR
diff --git a/sdks/java/testing/nexmark/build.gradle
b/sdks/java/testing/nexmark/build.gradle
index bd917a3935a..b554e9d9297 100644
--- a/sdks/java/testing/nexmark/build.gradle
+++ b/sdks/java/testing/nexmark/build.gradle
@@ -114,6 +114,19 @@ if (isSparkRunner) {
}
}
+def sparkJvmArgs() {
+ 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"
+ ]
+ }
+ return []
+}
+
def getNexmarkArgs = {
def nexmarkArgsStr = project.findProperty(nexmarkArgsProperty) ?: ""
def nexmarkArgsList = new ArrayList<String>()
@@ -179,6 +192,7 @@ task run(type: JavaExec) {
systemProperty "spark.ui.showConsoleProgress", "false"
// Dataset runner only
systemProperty "spark.sql.shuffle.partitions", "4"
+ jvmArgs += sparkJvmArgs()
}
mainClass = "org.apache.beam.sdk.nexmark.Main"
diff --git a/sdks/java/testing/tpcds/build.gradle
b/sdks/java/testing/tpcds/build.gradle
index 6a05df96ab2..15fdd480f07 100644
--- a/sdks/java/testing/tpcds/build.gradle
+++ b/sdks/java/testing/tpcds/build.gradle
@@ -104,6 +104,19 @@ if (isSpark) {
}
}
+def sparkJvmArgs() {
+ 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"
+ ]
+ }
+ return []
+}
+
// Execute the TPC-DS queries or suites via Gradle.
//
// Parameters:
@@ -141,6 +154,7 @@ task run(type: JavaExec) {
// Dataset runner only
systemProperty "spark.sql.shuffle.partitions", "4"
systemProperty "spark.sql.adaptive.enabled", "false" // high overhead for
complex queries
+ jvmArgs += sparkJvmArgs()
}
mainClass = "org.apache.beam.sdk.tpcds.BeamTpcds"