This does not seem to affect 2.4.0.
- Download pristine Spark 2.4.3 binary
- Edit pi.py to not call spark.stop()
- ./bin/docker-image-tool.sh -r MY_IMAGE -t MY_TAG build push
- spark-submit --master k8s://IP --deploy-mode cluster --conf spark.kubernetes.driver.pod.name=spark-driver --conf spark.kubernetes.container.image=MY_IMAGE:MY_TAG file:/opt/spark/examples/src/main/python/pi.py
The driver runs successfully and Python exits but the Driver and Executor JVMs and Pods remain up.
I realize that explicitly calling spark.stop() is always best practice, but since this does not repro in 2.4.0 it seems like a regression.