-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-32713][K8S] Support execId placeholder in executor PVC conf #29557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
-c spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.options.claimName=pvc-spark-SPARK_EXECUTOR_ID \ -c spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.mount.path=/data \ -c spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.mount.readOnly=false \
|
Test build #127953 has finished for PR 29557 at commit
|
|
Kubernetes integration test starting |
|
Kubernetes integration test status success |
|
LGTM |
|
Maybe consider a follow up to document this? |
|
Thanks. Sure! I have two related PRs. I'll make a K8s doc PR. |
### What changes were proposed in this pull request? This PR aims to support executor id placeholder in `spark.kubernetes.executor.volumes.persistentVolumeClaim.myname.options.claimName` configuration like the following. ``` --conf spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.options.claimName=pvc-spark-SPARK_EXECUTOR_ID \ ``` ### Why are the changes needed? This is a convenient way to mount corresponding PV to the executor. ### Does this PR introduce _any_ user-facing change? Yes, but this is a new feature and there is no regression because users don't use `SPARK_EXECUTOR_ID` in PVC claim name. ### How was this patch tested? Pass the newly added test case. Closes apache#29557 from dongjoon-hyun/SPARK-PVC. Authored-by: Dongjoon Hyun <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>
…dynamic allocation failure ### What changes were proposed in this pull request? This PR aims to show a directional error message for executor PVC dynamic allocation failure. ### Why are the changes needed? #29846 supports dynamic PVC creation/deletion for K8s executors. #29557 support execId placeholder in executor PVC conf. If not set `spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.options.claimName` with `onDemand` or `SPARK_EXECUTOR_ID`, spark will continue to try to create the executor pod. After this PR, spark can show a directional error message for this situation. ```plain ERROR ExecutorPodsSnapshotsStoreImpl: Going to stop due to IllegalArgumentException java.lang.IllegalArgumentException: PVC ClaimName should contain OnDemand or SPARK_EXECUTOR_ID when multiple executors are required ``` ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? Add unit test. Closes #36374 from dcoliversun/SPARK-39006. Authored-by: Qian.Sun <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>
What changes were proposed in this pull request?
This PR aims to support executor id placeholder in
spark.kubernetes.executor.volumes.persistentVolumeClaim.myname.options.claimNameconfiguration like the following.Why are the changes needed?
This is a convenient way to mount corresponding PV to the executor.
Does this PR introduce any user-facing change?
Yes, but this is a new feature and there is no regression because users don't use
SPARK_EXECUTOR_IDin PVC claim name.How was this patch tested?
Pass the newly added test case.