From 2d642558742385524f1c39b661c3aabd9090ea70 Mon Sep 17 00:00:00 2001 From: madlnu Date: Wed, 2 Oct 2024 19:12:43 +0800 Subject: [PATCH] [KYUUBI #6720] K8s pod OOM Killed should be identified as Application failed state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # :mag: Description ## Issue References ๐Ÿ”— This pull request fixes #6720 ## Describe Your Solution ๐Ÿ”ง If pod goes into OOMKilled state, application should be marked as KILLED, which is eventually identified as isFailed ## Types of changes :bookmark: - [ ] Bugfix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) ## Test Plan ๐Ÿงช Tested locally, was able to launch new session kyuubi_new_session --- **Be nice. Be informative.** Closes #6721 from Madhukar525722/OOM. Closes #6720 cd0bdf633 [madlnu] [KYUUBI #6720] K8s pod OOM Killed should be identified as Application failed state Authored-by: madlnu Signed-off-by: Cheng Pan --- .../apache/kyuubi/engine/KubernetesApplicationOperation.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala index 41b4d448178..74dc398f05b 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala @@ -34,7 +34,7 @@ import org.apache.kyuubi.config.KyuubiConf import org.apache.kyuubi.config.KyuubiConf.{KubernetesApplicationStateSource, KubernetesCleanupDriverPodStrategy} import org.apache.kyuubi.config.KyuubiConf.KubernetesApplicationStateSource.KubernetesApplicationStateSource import org.apache.kyuubi.config.KyuubiConf.KubernetesCleanupDriverPodStrategy.{ALL, COMPLETED, NONE} -import org.apache.kyuubi.engine.ApplicationState.{isTerminated, ApplicationState, FAILED, FINISHED, NOT_FOUND, PENDING, RUNNING, UNKNOWN} +import org.apache.kyuubi.engine.ApplicationState.{isTerminated, ApplicationState, FAILED, FINISHED, KILLED, NOT_FOUND, PENDING, RUNNING, UNKNOWN} import org.apache.kyuubi.operation.OperationState import org.apache.kyuubi.server.KyuubiServer import org.apache.kyuubi.session.KyuubiSessionManager @@ -535,6 +535,7 @@ object KubernetesApplicationOperation extends Logging { case "Running" => RUNNING case "Succeeded" => FINISHED case "Failed" | "Error" => FAILED + case "OOMKilled" => KILLED case "Unknown" => UNKNOWN case _ => warn(s"The spark driver pod state: $podState is not supported, " +