You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Dongjoon Hyun (Jira)" <ji...@apache.org> on 2026/04/15 20:58:00 UTC

[jira] [Assigned] (SPARK-56238) Spark app id of executor kubernetes pods differ from Spark driver

     [ https://issues.apache.org/jira/browse/SPARK-56238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dongjoon Hyun reassigned SPARK-56238:
-------------------------------------

    Assignee: Enrico Minack

> Spark app id of executor kubernetes pods differ from Spark driver
> -----------------------------------------------------------------
>
>                 Key: SPARK-56238
>                 URL: https://issues.apache.org/jira/browse/SPARK-56238
>             Project: Spark
>          Issue Type: Bug
>          Components: Kubernetes
>    Affects Versions: 4.2.0
>            Reporter: Enrico Minack
>            Assignee: Enrico Minack
>            Priority: Blocker
>              Labels: pull-request-available
>
> Running the Spark Shell in a kubernetes cluster creates executor pods that have a different app id selector value than the driver's app id. This causes the driver to kill the executors after some time.
> Reproduction:
> Create a minikube cluster:
> {code:java}
> minikube start
> kubectl create serviceaccount spark-sa
> kubectl create clusterrolebinding spark-role --clusterrole=edit --serviceaccount=default:spark-sa --namespace=default
> kubectl cluster-info
> {code}
> This outputs something like:
> {code:java}
> Kubernetes control plane is running at https://192.168.49.2:8443"
> {code}
> Memorize this URL:
> {code:java}
> k8s_url="https://192.168.49.2:8443"
> {code}
> Build Spark binaries and Docker image, load image into minikube:
> {code:java}
> ./dev/make-distribution.sh -Pkubernetes -Phadoop-cloud && (cd dist && SPARK_HOME=$(pwd) ./bin/docker-image-tool.sh -t "latest" build) && docker save spark:latest -o spark.tar && minikube image load spark.tar
> {code}
> Run Spark Shell:
> {code:java}
> echo "spark.range(10).mapPartitions { it => Thread.sleep(60000); it }.collect" | ./bin/spark-shell     --master k8s://$k8s_url     --conf spark.kubernetes.container.image=spark:latest     --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark-sa     --conf spark.kubernetes.executor.missingPodDetectDelta=1000
> {code}
> The driver says:
> {code:java}
> Spark context available as 'sc' (master = k8s://https://192.168.49.2:8443, app id = spark-c0f802279d8146c29b1ef3467b467590).
> {code}
> The executor pods say:
> {code:java}
> kubectl describe "pod/$(kubectl get pods | grep exec | grep Running | head -n 1 | cut -d " " -f 1)" | grep selec
> spark-app-selector=spark-6c8d69be4f00410b884fd6e6417b872a
> {code}
> this mismatch causes:
> {code:java}
> 26/03/26 11:40:29 ERROR dispatcher-CoarseGrainedScheduler org.apache.spark.scheduler.TaskSchedulerImpl: Lost executor 1 on 10.244.0.55: The executor with ID 1 (registered at 1774521602640 ms) was not found in the cluster at the polling time (1774521629051 ms) which is after the accepted detect delta time (1000 ms) configured by `spark.kubernetes.executor.missingPodDetectDelta`. The executor may have been deleted but the driver missed the deletion event. Marking this executor as failed.{code}
> This looks related: SPARK-25922



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org