Skip to content

Commit 149a3c2

Browse files
committed
Pass Spark job server JVM args
1 parent 477c747 commit 149a3c2

4 files changed

Lines changed: 16 additions & 15 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"trigger-2026-04-04": "portable_runner expand_sdf opt-in"
2+
"trigger-2026-07-08": "portable_runner expand_sdf opt-in"
33
}

runners/spark/job-server/spark_job_server.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ import org.apache.beam.gradle.BeamModulePlugin
2323
* Spark Runner JobServer build file
2424
*/
2525

26+
apply from: "../spark_jvm_args.gradle"
27+
2628
apply plugin: 'org.apache.beam.module'
2729
apply plugin: 'application'
2830
// we need to set mainClassName before applying shadow plugin
@@ -271,9 +273,11 @@ def setupTask = project.tasks.register("sparkJobServerSetup", Exec) {
271273
dependsOn shadowJar
272274
def pythonDir = project.project(":sdks:python").projectDir
273275
def sparkJobServerJar = shadowJar.archivePath
276+
def jvmArgs = sparkJvmArgsForJava17Plus().join(' ')
277+
def jvmArgsOpt = jvmArgs ? "--jvm_args \"${jvmArgs}\"" : ""
274278

275279
executable 'sh'
276-
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 ${sparkJobServerJar}"
280+
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 ${sparkJobServerJar} ${jvmArgsOpt}"
277281
}
278282

279283
def cleanupTask = project.tasks.register("sparkJobServerCleanup", Exec) {

runners/spark/spark_runner.gradle

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
import groovy.json.JsonOutput
2020

21+
apply from: "spark_jvm_args.gradle"
22+
2123
apply plugin: 'org.apache.beam.module'
2224

2325
// Numeric version comparison (lexicographic string compare was fragile — e.g. "3.10.0" < "3.5.0").
@@ -77,18 +79,7 @@ def sparkTestProperties(overrides = [:]) {
7779

7880

7981
def sparkTestJvmArgs() {
80-
def testJavaVer = project.findProperty('testJavaVersion') ? (project.property('testJavaVersion') as int) : JavaVersion.current().majorVersion.toInteger()
81-
if (testJavaVer >= 17) {
82-
return [
83-
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED",
84-
// add-opens below required for Kryo FieldSerializer / SparkRunnerKryoRegistratorTest
85-
"--add-opens=java.base/java.nio=ALL-UNNAMED",
86-
"--add-opens=java.base/java.util=ALL-UNNAMED",
87-
"--add-opens=java.base/java.lang.invoke=ALL-UNNAMED"
88-
]
89-
} else {
90-
return []
91-
}
82+
return sparkJvmArgsForJava17Plus()
9283
}
9384

9485
def hadoopVersions = [

sdks/python/scripts/run_job_server.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Options:
2323
--job_port [port for job endpoint, default 8099]
2424
--artifact_port [port for artifact service, default 8098]
2525
--job_server_jar [path to job server jar]
26+
--jvm_args [additional JVM arguments, e.g. --add-opens flags]
2627
END
2728

2829
JOB_PORT=8099
@@ -61,6 +62,11 @@ while [[ $# -gt 0 ]]; do
6162
shift
6263
shift
6364
;;
65+
--jvm_args)
66+
JVM_ARGS="$2"
67+
shift
68+
shift
69+
;;
6470
start)
6571
STARTSTOP="$1"
6672
shift
@@ -107,7 +113,7 @@ case $STARTSTOP in
107113
fi
108114

109115
echo "Launching job server @ $JOB_PORT ..."
110-
"$JAVA_CMD" -jar $JOB_SERVER_JAR --job-port=$JOB_PORT --artifact-port=$ARTIFACT_PORT --expansion-port=0 $ADDITIONAL_ARGS >$TEMP_DIR/$FILE_BASE.log 2>&1 </dev/null &
116+
"$JAVA_CMD" $JVM_ARGS -jar $JOB_SERVER_JAR --job-port=$JOB_PORT --artifact-port=$ARTIFACT_PORT --expansion-port=0 $ADDITIONAL_ARGS >$TEMP_DIR/$FILE_BASE.log 2>&1 </dev/null &
111117
mypid=$!
112118
if kill -0 $mypid >/dev/null 2>&1; then
113119
echo $mypid >> $pid

0 commit comments

Comments
 (0)