This is an automated email from the ASF dual-hosted git repository.
dongjoon-hyun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/spark-kubernetes-operator.git
The following commit(s) were added to refs/heads/main by this push:
new 77e8a39 [SPARK-58194] Upgrade docker images to Apache Spark 4.2.0
77e8a39 is described below
commit 77e8a3925070574234956ea4cb0dfe86480037f8
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Fri Jul 17 08:27:02 2026 -0700
[SPARK-58194] Upgrade docker images to Apache Spark 4.2.0
### What changes were proposed in this pull request?
This PR aims to use Apache Spark 4.2.0 docker images instead of `4.1.2` and
`4.2.0-preview5`.
- Rename `pi-preview*` examples and the `pi-preview` E2E test to
`pi-java25*` with `apache/spark:4.2.0-scala-java25` image.
- Update all examples, E2E tests, benchmark script, and docs from `4.1.2`
to `4.2.0`.
- Update the default Spark cluster image of `SparkClusterResourceSpec` from
`apache/spark:4.1.2` to `apache/spark:4.2.0`.
Note that `pi-with-comet.yaml` stays on `4.1.2` because `Apache DataFusion
Comet` does not provide a Spark 4.2 artifact yet, like `pi-with-gluten.yaml`
stays on `4.0.3`.
### Why are the changes needed?
Since Apache Spark 4.2.0 is released, the examples and tests should use the
official release images instead of the preview and old versions. The build
dependency is already on Spark 4.2.0 in `gradle/libs.versions.toml`.
### Does this PR introduce _any_ user-facing change?
Yes, the default Spark cluster image becomes `apache/spark:4.2.0`, and the
examples are updated. However, this is a consistent behavior change with the
already-upgraded Spark 4.2.0 dependency.
### How was this patch tested?
Pass the CIs.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Fable 5
Closes #761 from dongjoon-hyun/SPARK-58194.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.github/workflows/build_and_test.yml | 2 +-
README.md | 6 +++---
docs/spark_custom_resources.md | 4 ++--
examples/cluster-on-yunikorn.yaml | 2 +-
examples/cluster-with-hpa-template.yaml | 2 +-
examples/cluster-with-hpa.yaml | 2 +-
examples/cluster-with-jws-filter.yaml | 2 +-
examples/cluster-with-template.yaml | 2 +-
examples/cluster.yaml | 2 +-
examples/dfs-read-write.yaml | 2 +-
examples/pi-java17.yaml | 2 +-
.../{pi-preview-deployment.yaml => pi-java25-deployment.yaml} | 6 +++---
...ize-plugin.yaml => pi-java25-with-executor-resize-plugin.yaml} | 6 +++---
examples/{pi-preview.yaml => pi-java25.yaml} | 6 +++---
examples/pi-on-volcano.yaml | 2 +-
examples/pi-on-yunikorn.yaml | 2 +-
examples/pi-python.yaml | 2 +-
examples/pi-statefulset.yaml | 2 +-
examples/pi-v1beta1.yaml | 2 +-
examples/pi-with-driver-timeout.yaml | 2 +-
examples/pi-with-eventlog.yaml | 2 +-
examples/pi-with-instanceconfig.yaml | 2 +-
examples/pi-with-on-demand-pvc.yaml | 2 +-
examples/pi-with-one-pod.yaml | 2 +-
examples/pi-with-spark-connect-plugin.yaml | 2 +-
examples/pi-with-template.yaml | 2 +-
examples/pi.yaml | 2 +-
examples/prod-cluster-with-three-workers.yaml | 2 +-
examples/qa-cluster-with-one-worker.yaml | 2 +-
examples/spark-connect-server-usw2-az2.yaml | 2 +-
examples/spark-connect-server-with-spark-cluster.yaml | 2 +-
examples/spark-connect-server.yaml | 2 +-
examples/spark-history-server-with-jws-filter.yaml | 2 +-
examples/spark-history-server.yaml | 2 +-
examples/spark-thrift-server.yaml | 2 +-
examples/sql.yaml | 2 +-
examples/stream-word-count.yaml | 2 +-
examples/word-count.yaml | 2 +-
.../org/apache/spark/k8s/operator/SparkClusterResourceSpec.java | 2 +-
tests/benchmark/sparkapps.sh | 2 +-
.../driver-start-timeout/spark-example-driver-start-timeout.yaml | 2 +-
tests/e2e/{pi-preview => pi-java25}/chainsaw-test.yaml | 8 ++++----
tests/e2e/{pi-preview => pi-java25}/spark-state-transition.yaml | 2 +-
tests/e2e/python/chainsaw-test.yaml | 4 ++--
.../resource-retain-duration/spark-example-retain-duration.yaml | 2 +-
.../spark-example-retain-on-failure.yaml | 2 +-
tests/e2e/resource-selector/chainsaw-test.yaml | 4 ++--
tests/e2e/spark-versions/chainsaw-test.yaml | 8 ++++----
tests/e2e/state-transition/spark-cluster-example-succeeded.yaml | 2 +-
tests/e2e/state-transition/spark-example-succeeded.yaml | 2 +-
tests/e2e/watched-namespaces-file/spark-example.yaml | 2 +-
tests/e2e/watched-namespaces/spark-example.yaml | 2 +-
52 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/.github/workflows/build_and_test.yml
b/.github/workflows/build_and_test.yml
index 9f7be94..ef9ca7d 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -133,7 +133,7 @@ jobs:
test-group: pi-with-gluten
- kubernetes-version: "1.36.0"
mode: static
- test-group: pi-preview
+ test-group: pi-java25
steps:
- name: Checkout repository
uses: actions/checkout@v6
diff --git a/README.md b/README.md
index 472ed86..26415ef 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,7 @@ $ ./examples/submit-pi-to-prod.sh
{
"action" : "CreateSubmissionResponse",
"message" : "Driver successfully submitted as driver-20260110030233-0000",
- "serverSparkVersion" : "4.1.2",
+ "serverSparkVersion" : "4.2.0",
"submissionId" : "driver-20260110030233-0000",
"success" : true
}
@@ -105,7 +105,7 @@ $ curl
http://localhost:6066/v1/submissions/status/driver-20260110030233-0000/
{
"action" : "SubmissionStatusResponse",
"driverState" : "FINISHED",
- "serverSparkVersion" : "4.1.2",
+ "serverSparkVersion" : "4.2.0",
"submissionId" : "driver-20260110030233-0000",
"success" : true,
"workerHostPort" : "10.1.1.172:44233",
@@ -142,7 +142,7 @@ Events:
Normal Scheduling 1s yunikorn default/pi-on-yunikorn-0-driver
is queued and waiting for allocation
Normal Scheduled 1s yunikorn Successfully assigned
default/pi-on-yunikorn-0-driver to node docker-desktop
Normal PodBindSuccessful 1s yunikorn Pod
default/pi-on-yunikorn-0-driver is successfully bound to node docker-desktop
- Normal Pulled 0s kubelet Container image
"apache/spark:4.1.2-scala" already present on machine
+ Normal Pulled 0s kubelet Container image
"apache/spark:4.2.0-scala" already present on machine
Normal Created 0s kubelet Created container:
spark-kubernetes-driver
Normal Started 0s kubelet Started container
spark-kubernetes-driver
diff --git a/docs/spark_custom_resources.md b/docs/spark_custom_resources.md
index c0fc94a..2472f72 100644
--- a/docs/spark_custom_resources.md
+++ b/docs/spark_custom_resources.md
@@ -52,12 +52,12 @@ spec:
spark.dynamicAllocation.shuffleTracking.enabled: "true"
spark.dynamicAllocation.maxExecutors: "3"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
- spark.kubernetes.container.image: "apache/spark:4.1.2-scala"
+ spark.kubernetes.container.image: "apache/spark:4.2.0-scala"
applicationTolerations:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
```
After application is submitted, Operator will add status information to your
application based on
diff --git a/examples/cluster-on-yunikorn.yaml
b/examples/cluster-on-yunikorn.yaml
index 4834af4..3ddd22e 100644
--- a/examples/cluster-on-yunikorn.yaml
+++ b/examples/cluster-on-yunikorn.yaml
@@ -18,7 +18,7 @@ metadata:
name: cluster-on-yunikorn
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 1
diff --git a/examples/cluster-with-hpa-template.yaml
b/examples/cluster-with-hpa-template.yaml
index 2c53e93..4a4ce64 100644
--- a/examples/cluster-with-hpa-template.yaml
+++ b/examples/cluster-with-hpa-template.yaml
@@ -18,7 +18,7 @@ metadata:
name: cluster-with-hpa-template
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 1
diff --git a/examples/cluster-with-hpa.yaml b/examples/cluster-with-hpa.yaml
index 5982514..7170a4e 100644
--- a/examples/cluster-with-hpa.yaml
+++ b/examples/cluster-with-hpa.yaml
@@ -18,7 +18,7 @@ metadata:
name: cluster-with-hpa
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 3
diff --git a/examples/cluster-with-jws-filter.yaml
b/examples/cluster-with-jws-filter.yaml
index 9a265ff..685ceb6 100644
--- a/examples/cluster-with-jws-filter.yaml
+++ b/examples/cluster-with-jws-filter.yaml
@@ -18,7 +18,7 @@ metadata:
name: cluster-with-jws-filter
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 3
diff --git a/examples/cluster-with-template.yaml
b/examples/cluster-with-template.yaml
index 79c4deb..cb454fe 100644
--- a/examples/cluster-with-template.yaml
+++ b/examples/cluster-with-template.yaml
@@ -18,7 +18,7 @@ metadata:
name: cluster-with-template
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 1
diff --git a/examples/cluster.yaml b/examples/cluster.yaml
index cf9d89f..f887057 100644
--- a/examples/cluster.yaml
+++ b/examples/cluster.yaml
@@ -18,7 +18,7 @@ metadata:
name: cluster
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 3
diff --git a/examples/dfs-read-write.yaml b/examples/dfs-read-write.yaml
index 7147888..08f7d64 100644
--- a/examples/dfs-read-write.yaml
+++ b/examples/dfs-read-write.yaml
@@ -41,4 +41,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-java17.yaml b/examples/pi-java17.yaml
index c1d1013..ed451a3 100644
--- a/examples/pi-java17.yaml
+++ b/examples/pi-java17.yaml
@@ -28,4 +28,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-preview-deployment.yaml
b/examples/pi-java25-deployment.yaml
similarity index 90%
rename from examples/pi-preview-deployment.yaml
rename to examples/pi-java25-deployment.yaml
index 19e2db1..5e55a11 100644
--- a/examples/pi-preview-deployment.yaml
+++ b/examples/pi-java25-deployment.yaml
@@ -15,7 +15,7 @@
apiVersion: spark.apache.org/v1
kind: SparkApplication
metadata:
- name: pi-preview-deployment
+ name: pi-java25-deployment
spec:
mainClass: "org.apache.spark.examples.SparkPi"
driverArgs: ["20000"]
@@ -24,9 +24,9 @@ spec:
spark.executor.instances: "3"
spark.kubernetes.allocation.pods.allocator: "deployment"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
- spark.kubernetes.container.image: "apache/spark:4.2.0-preview5-scala"
+ spark.kubernetes.container.image: "apache/spark:4.2.0-scala-java25"
applicationTolerations:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.2.0-preview5"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-preview-with-executor-resize-plugin.yaml
b/examples/pi-java25-with-executor-resize-plugin.yaml
similarity index 90%
rename from examples/pi-preview-with-executor-resize-plugin.yaml
rename to examples/pi-java25-with-executor-resize-plugin.yaml
index efb302a..f6e8ecd 100644
--- a/examples/pi-preview-with-executor-resize-plugin.yaml
+++ b/examples/pi-java25-with-executor-resize-plugin.yaml
@@ -15,7 +15,7 @@
apiVersion: spark.apache.org/v1
kind: SparkApplication
metadata:
- name: pi-preview-with-executor-resize-plugin
+ name: pi-java25-with-executor-resize-plugin
spec:
mainClass: "org.apache.spark.examples.SparkPi"
driverArgs: ["200000"]
@@ -25,7 +25,7 @@ spec:
spark.dynamicAllocation.maxExecutors: "1"
spark.dynamicAllocation.shuffleTracking.enabled: "true"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
- spark.kubernetes.container.image: "apache/spark:4.2.0-preview5-scala"
+ spark.kubernetes.container.image: "apache/spark:4.2.0-scala-java25"
spark.kubernetes.executor.resizeInterval: "1min"
spark.kubernetes.executor.resizeThreshold: "0.25"
spark.plugins:
"org.apache.spark.scheduler.cluster.k8s.ExecutorResizePlugin"
@@ -33,4 +33,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.2.0-preview5"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-preview.yaml b/examples/pi-java25.yaml
similarity index 91%
rename from examples/pi-preview.yaml
rename to examples/pi-java25.yaml
index 7a70277..8fe6723 100644
--- a/examples/pi-preview.yaml
+++ b/examples/pi-java25.yaml
@@ -15,7 +15,7 @@
apiVersion: spark.apache.org/v1
kind: SparkApplication
metadata:
- name: pi-preview
+ name: pi-java25
spec:
mainClass: "org.apache.spark.examples.SparkPi"
jars: "local:///opt/spark/examples/jars/spark-examples.jar"
@@ -24,9 +24,9 @@ spec:
spark.dynamicAllocation.shuffleTracking.enabled: "true"
spark.dynamicAllocation.maxExecutors: "3"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
- spark.kubernetes.container.image: "apache/spark:4.2.0-preview5-scala"
+ spark.kubernetes.container.image: "apache/spark:4.2.0-scala-java25"
applicationTolerations:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.2.0-preview5"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-on-volcano.yaml b/examples/pi-on-volcano.yaml
index 6455360..551a13b 100644
--- a/examples/pi-on-volcano.yaml
+++ b/examples/pi-on-volcano.yaml
@@ -33,4 +33,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-on-yunikorn.yaml b/examples/pi-on-yunikorn.yaml
index 93ffc07..103c712 100644
--- a/examples/pi-on-yunikorn.yaml
+++ b/examples/pi-on-yunikorn.yaml
@@ -34,4 +34,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-python.yaml b/examples/pi-python.yaml
index 45643c5..16a6b49 100644
--- a/examples/pi-python.yaml
+++ b/examples/pi-python.yaml
@@ -27,4 +27,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-statefulset.yaml b/examples/pi-statefulset.yaml
index 62ab5e2..856c7f6 100644
--- a/examples/pi-statefulset.yaml
+++ b/examples/pi-statefulset.yaml
@@ -28,4 +28,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-v1beta1.yaml b/examples/pi-v1beta1.yaml
index 067d7c0..73d17e4 100644
--- a/examples/pi-v1beta1.yaml
+++ b/examples/pi-v1beta1.yaml
@@ -28,4 +28,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-driver-timeout.yaml
b/examples/pi-with-driver-timeout.yaml
index 57723d0..a9f02df 100644
--- a/examples/pi-with-driver-timeout.yaml
+++ b/examples/pi-with-driver-timeout.yaml
@@ -32,4 +32,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-eventlog.yaml b/examples/pi-with-eventlog.yaml
index d50cb02..9d3226c 100644
--- a/examples/pi-with-eventlog.yaml
+++ b/examples/pi-with-eventlog.yaml
@@ -40,4 +40,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-instanceconfig.yaml
b/examples/pi-with-instanceconfig.yaml
index 2f84f7f..5723921 100644
--- a/examples/pi-with-instanceconfig.yaml
+++ b/examples/pi-with-instanceconfig.yaml
@@ -31,4 +31,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-on-demand-pvc.yaml
b/examples/pi-with-on-demand-pvc.yaml
index f0e11f2..a33e0b2 100644
--- a/examples/pi-with-on-demand-pvc.yaml
+++ b/examples/pi-with-on-demand-pvc.yaml
@@ -35,4 +35,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-one-pod.yaml b/examples/pi-with-one-pod.yaml
index 6395131..e1afb48 100644
--- a/examples/pi-with-one-pod.yaml
+++ b/examples/pi-with-one-pod.yaml
@@ -26,4 +26,4 @@ spec:
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-spark-connect-plugin.yaml
b/examples/pi-with-spark-connect-plugin.yaml
index c3ae4ac..a39b1c2 100644
--- a/examples/pi-with-spark-connect-plugin.yaml
+++ b/examples/pi-with-spark-connect-plugin.yaml
@@ -30,4 +30,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi-with-template.yaml b/examples/pi-with-template.yaml
index eb6a9af..ef8d33a 100644
--- a/examples/pi-with-template.yaml
+++ b/examples/pi-with-template.yaml
@@ -38,4 +38,4 @@ spec:
priorityClassName: system-cluster-critical
terminationGracePeriodSeconds: 0
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/pi.yaml b/examples/pi.yaml
index 50280b8..eeee12a 100644
--- a/examples/pi.yaml
+++ b/examples/pi.yaml
@@ -29,4 +29,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/prod-cluster-with-three-workers.yaml
b/examples/prod-cluster-with-three-workers.yaml
index a5c8b53..4b2b74c 100644
--- a/examples/prod-cluster-with-three-workers.yaml
+++ b/examples/prod-cluster-with-three-workers.yaml
@@ -18,7 +18,7 @@ metadata:
name: prod
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 3
diff --git a/examples/qa-cluster-with-one-worker.yaml
b/examples/qa-cluster-with-one-worker.yaml
index b337e03..2882653 100644
--- a/examples/qa-cluster-with-one-worker.yaml
+++ b/examples/qa-cluster-with-one-worker.yaml
@@ -18,7 +18,7 @@ metadata:
name: qa
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 1
diff --git a/examples/spark-connect-server-usw2-az2.yaml
b/examples/spark-connect-server-usw2-az2.yaml
index 208944f..9716098 100644
--- a/examples/spark-connect-server-usw2-az2.yaml
+++ b/examples/spark-connect-server-usw2-az2.yaml
@@ -41,4 +41,4 @@ spec:
resourceRetainPolicy: OnFailure
ttlAfterStopMillis: 10000
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/spark-connect-server-with-spark-cluster.yaml
b/examples/spark-connect-server-with-spark-cluster.yaml
index 9f6655e..5f19b70 100644
--- a/examples/spark-connect-server-with-spark-cluster.yaml
+++ b/examples/spark-connect-server-with-spark-cluster.yaml
@@ -26,4 +26,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
spark.ui.reverseProxy: "true"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/spark-connect-server.yaml
b/examples/spark-connect-server.yaml
index c0761c3..48da081 100644
--- a/examples/spark-connect-server.yaml
+++ b/examples/spark-connect-server.yaml
@@ -30,4 +30,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/spark-history-server-with-jws-filter.yaml
b/examples/spark-history-server-with-jws-filter.yaml
index c8a5f0d..8c612c7 100644
--- a/examples/spark-history-server-with-jws-filter.yaml
+++ b/examples/spark-history-server-with-jws-filter.yaml
@@ -39,7 +39,7 @@ spec:
spark.ui.filters: "org.apache.spark.ui.JWSFilter"
spark.org.apache.spark.ui.JWSFilter.param.secretKey:
"VmlzaXQgaHR0cHM6Ly9zcGFyay5hcGFjaGUub3JnIHRvIGRvd25sb2FkIEFwYWNoZSBTcGFyay4="
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
applicationTolerations:
restartConfig:
restartPolicy: Always
diff --git a/examples/spark-history-server.yaml
b/examples/spark-history-server.yaml
index ab2e3b8..0ad14fc 100644
--- a/examples/spark-history-server.yaml
+++ b/examples/spark-history-server.yaml
@@ -36,7 +36,7 @@ spec:
spark.hadoop.fs.s3a.access.key: "test"
spark.hadoop.fs.s3a.secret.key: "test"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
applicationTolerations:
restartConfig:
restartPolicy: Always
diff --git a/examples/spark-thrift-server.yaml
b/examples/spark-thrift-server.yaml
index 36312f8..6fc05e0 100644
--- a/examples/spark-thrift-server.yaml
+++ b/examples/spark-thrift-server.yaml
@@ -28,7 +28,7 @@ spec:
spark.kubernetes.executor.podNamePrefix: "spark-thrift-server"
spark.scheduler.mode: "FAIR"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
applicationTolerations:
restartConfig:
restartPolicy: Always
diff --git a/examples/sql.yaml b/examples/sql.yaml
index dcfc84b..0eb05ea 100644
--- a/examples/sql.yaml
+++ b/examples/sql.yaml
@@ -27,4 +27,4 @@ spec:
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/stream-word-count.yaml b/examples/stream-word-count.yaml
index 3d833b8..8e368b5 100644
--- a/examples/stream-word-count.yaml
+++ b/examples/stream-word-count.yaml
@@ -37,4 +37,4 @@ spec:
spark.hadoop.fs.s3a.access.key: "test"
spark.hadoop.fs.s3a.secret.key: "test"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/examples/word-count.yaml b/examples/word-count.yaml
index 5a1b73c..8072bfe 100644
--- a/examples/word-count.yaml
+++ b/examples/word-count.yaml
@@ -28,4 +28,4 @@ spec:
applicationTolerations:
resourceRetainPolicy: OnFailure
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git
a/spark-submission-worker/src/main/java/org/apache/spark/k8s/operator/SparkClusterResourceSpec.java
b/spark-submission-worker/src/main/java/org/apache/spark/k8s/operator/SparkClusterResourceSpec.java
index 9debb38..8cadf00 100644
---
a/spark-submission-worker/src/main/java/org/apache/spark/k8s/operator/SparkClusterResourceSpec.java
+++
b/spark-submission-worker/src/main/java/org/apache/spark/k8s/operator/SparkClusterResourceSpec.java
@@ -69,7 +69,7 @@ public class SparkClusterResourceSpec {
String clusterName = cluster.getMetadata().getName();
String scheduler = conf.get(Config.KUBERNETES_SCHEDULER_NAME().key(),
"default-scheduler");
String namespace = conf.get(Config.KUBERNETES_NAMESPACE().key(),
clusterNamespace);
- String image = conf.get(Config.CONTAINER_IMAGE().key(),
"apache/spark:4.1.2");
+ String image = conf.get(Config.CONTAINER_IMAGE().key(),
"apache/spark:4.2.0");
ClusterSpec spec = cluster.getSpec();
String version = spec.getRuntimeVersions().getSparkVersion();
StringBuilder options = new StringBuilder();
diff --git a/tests/benchmark/sparkapps.sh b/tests/benchmark/sparkapps.sh
index 8c85e71..53b2273 100755
--- a/tests/benchmark/sparkapps.sh
+++ b/tests/benchmark/sparkapps.sh
@@ -46,7 +46,7 @@ spec:
spark.kubernetes.driver.pod.excludedFeatureSteps:
"org.apache.spark.deploy.k8s.features.KerberosConfDriverFeatureStep"
spark.kubernetes.driver.request.cores: "100m"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
---
EOF
done
diff --git
a/tests/e2e/driver-start-timeout/spark-example-driver-start-timeout.yaml
b/tests/e2e/driver-start-timeout/spark-example-driver-start-timeout.yaml
index 1c03150..9eabf4b 100644
--- a/tests/e2e/driver-start-timeout/spark-example-driver-start-timeout.yaml
+++ b/tests/e2e/driver-start-timeout/spark-example-driver-start-timeout.yaml
@@ -31,4 +31,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:non-existent-image"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/tests/e2e/pi-preview/chainsaw-test.yaml
b/tests/e2e/pi-java25/chainsaw-test.yaml
similarity index 86%
rename from tests/e2e/pi-preview/chainsaw-test.yaml
rename to tests/e2e/pi-java25/chainsaw-test.yaml
index 8b963cf..93dcc43 100644
--- a/tests/e2e/pi-preview/chainsaw-test.yaml
+++ b/tests/e2e/pi-java25/chainsaw-test.yaml
@@ -18,13 +18,13 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
- name: spark-operator-pi-preview-validation
+ name: spark-operator-pi-java25-validation
spec:
namespace: default
steps:
- try:
- apply:
- file: ../../../examples/pi-preview.yaml
+ file: ../../../examples/pi-java25.yaml
- assert:
bindings:
- name: SPARK_APP_NAMESPACE
@@ -37,7 +37,7 @@ spec:
kind: SparkApplication
namespace: default
- podLogs:
- selector: spark-app-name=pi-preview
+ selector: spark-app-name=pi-java25
namespace: default
- podLogs:
selector: app.kubernetes.io/name=spark-kubernetes-operator
@@ -46,4 +46,4 @@ spec:
- script:
timeout: 120s
content: |
- kubectl delete sparkapplication pi-preview --ignore-not-found=true
+ kubectl delete sparkapplication pi-java25 --ignore-not-found=true
diff --git a/tests/e2e/pi-preview/spark-state-transition.yaml
b/tests/e2e/pi-java25/spark-state-transition.yaml
similarity index 98%
rename from tests/e2e/pi-preview/spark-state-transition.yaml
rename to tests/e2e/pi-java25/spark-state-transition.yaml
index b7edc6f..2953a1e 100644
--- a/tests/e2e/pi-preview/spark-state-transition.yaml
+++ b/tests/e2e/pi-java25/spark-state-transition.yaml
@@ -18,7 +18,7 @@
apiVersion: spark.apache.org/v1
kind: SparkApplication
metadata:
- name: pi-preview
+ name: pi-java25
namespace: ($SPARK_APP_NAMESPACE)
status:
stateTransitionHistory:
diff --git a/tests/e2e/python/chainsaw-test.yaml
b/tests/e2e/python/chainsaw-test.yaml
index d56de30..e8be4a5 100644
--- a/tests/e2e/python/chainsaw-test.yaml
+++ b/tests/e2e/python/chainsaw-test.yaml
@@ -23,11 +23,11 @@ spec:
scenarios:
- bindings:
- name: "SPARK_VERSION"
- value: "4.1.2"
+ value: "4.2.0"
- name: "SCALA_VERSION"
value: "2.13"
- name: "IMAGE"
- value: "apache/spark:4.1.2-python3"
+ value: "apache/spark:4.2.0-python3"
steps:
- name: install-spark-application
try:
diff --git
a/tests/e2e/resource-retain-duration/spark-example-retain-duration.yaml
b/tests/e2e/resource-retain-duration/spark-example-retain-duration.yaml
index 6944c15..87fbcf0 100644
--- a/tests/e2e/resource-retain-duration/spark-example-retain-duration.yaml
+++ b/tests/e2e/resource-retain-duration/spark-example-retain-duration.yaml
@@ -32,4 +32,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git
a/tests/e2e/resource-retain-on-failure/spark-example-retain-on-failure.yaml
b/tests/e2e/resource-retain-on-failure/spark-example-retain-on-failure.yaml
index df3fa20..23aeaa1 100644
--- a/tests/e2e/resource-retain-on-failure/spark-example-retain-on-failure.yaml
+++ b/tests/e2e/resource-retain-on-failure/spark-example-retain-on-failure.yaml
@@ -30,4 +30,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/tests/e2e/resource-selector/chainsaw-test.yaml
b/tests/e2e/resource-selector/chainsaw-test.yaml
index adb708e..9782036 100644
--- a/tests/e2e/resource-selector/chainsaw-test.yaml
+++ b/tests/e2e/resource-selector/chainsaw-test.yaml
@@ -27,9 +27,9 @@ spec:
- name: SPARK_APPLICATION_NAME
value: "spark-example-resource-selector"
- name: SPARK_VERSION
- value: "4.1.2"
+ value: "4.2.0"
- name: IMAGE
- value: "apache/spark:4.1.2-scala"
+ value: "apache/spark:4.2.0-scala"
steps:
- name: install-spark-application-and-apply-label
try:
diff --git a/tests/e2e/spark-versions/chainsaw-test.yaml
b/tests/e2e/spark-versions/chainsaw-test.yaml
index 2971706..fc838c0 100644
--- a/tests/e2e/spark-versions/chainsaw-test.yaml
+++ b/tests/e2e/spark-versions/chainsaw-test.yaml
@@ -23,22 +23,22 @@ spec:
scenarios:
- bindings:
- name: "SPARK_VERSION"
- value: "4.1.2"
+ value: "4.2.0"
- name: "SCALA_VERSION"
value: "2.13"
- name: "JAVA_VERSION"
value: "17"
- name: "IMAGE"
- value: "apache/spark:4.1.2-scala-java17"
+ value: "apache/spark:4.2.0-scala-java17"
- bindings:
- name: "SPARK_VERSION"
- value: "4.1.2"
+ value: "4.2.0"
- name: "SCALA_VERSION"
value: "2.13"
- name: "JAVA_VERSION"
value: "21"
- name: "IMAGE"
- value: 'apache/spark:4.1.2-scala'
+ value: 'apache/spark:4.2.0-scala'
steps:
- name: install-spark-application
try:
diff --git a/tests/e2e/state-transition/spark-cluster-example-succeeded.yaml
b/tests/e2e/state-transition/spark-cluster-example-succeeded.yaml
index 6068866..3f1b07e 100644
--- a/tests/e2e/state-transition/spark-cluster-example-succeeded.yaml
+++ b/tests/e2e/state-transition/spark-cluster-example-succeeded.yaml
@@ -19,7 +19,7 @@ metadata:
namespace: default
spec:
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
clusterTolerations:
instanceConfig:
initWorkers: 1
diff --git a/tests/e2e/state-transition/spark-example-succeeded.yaml
b/tests/e2e/state-transition/spark-example-succeeded.yaml
index c0dbdec..cf45b80 100644
--- a/tests/e2e/state-transition/spark-example-succeeded.yaml
+++ b/tests/e2e/state-transition/spark-example-succeeded.yaml
@@ -28,4 +28,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/tests/e2e/watched-namespaces-file/spark-example.yaml
b/tests/e2e/watched-namespaces-file/spark-example.yaml
index 54c798f..9cc2d93 100644
--- a/tests/e2e/watched-namespaces-file/spark-example.yaml
+++ b/tests/e2e/watched-namespaces-file/spark-example.yaml
@@ -28,4 +28,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
diff --git a/tests/e2e/watched-namespaces/spark-example.yaml
b/tests/e2e/watched-namespaces/spark-example.yaml
index 54c798f..9cc2d93 100644
--- a/tests/e2e/watched-namespaces/spark-example.yaml
+++ b/tests/e2e/watched-namespaces/spark-example.yaml
@@ -28,4 +28,4 @@ spec:
spark.kubernetes.container.image: "apache/spark:{{SPARK_VERSION}}-scala"
spark.kubernetes.authenticate.driver.serviceAccountName: "spark"
runtimeVersions:
- sparkVersion: "4.1.2"
+ sparkVersion: "4.2.0"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]