From 79d3bc27af88809504c514a74963e390d6f98bdd Mon Sep 17 00:00:00 2001
From: hezhao2 <hezhao2@cisco.com>
Date: Wed, 31 Jan 2024 14:14:17 +0800
Subject: [PATCH] refactor code

---
 .../kyuubi/server/api/v1/AdminResource.scala  | 60 ++++++++++---------
 1 file changed, 31 insertions(+), 29 deletions(-)

diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala
index 57929b1ad03..cf90a46a049 100644
--- a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala
+++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/AdminResource.scala
@@ -261,39 +261,41 @@ private[v1] class AdminResource extends ApiRequestContext with Logging {
     val engine = normalizeEngineInfo(userName, engineType, shareLevel, subdomain, "default")
     val engineSpace = calculateEngineSpace(engine)
     var msg = s"Engine $engineSpace is deleted successfully."
-    forceKill match {
-      case true =>
-        val applicationManagerInfo = ApplicationManagerInfo(
-          Option(sparkMaster),
-          Option(sparK8Context),
-          Option(sparK8Namespace))
+    if (forceKill) {
+      if (StringUtils.isBlank(refId)) {
+        error(s"Invalid refId: $refId")
+        throw new NotFoundException(s"Invalid refId: $refId")
+      }
 
-        var killMessage: KillResponse = (false, "UNKNOWN")
-        killMessage = fe.be.sessionManager.asInstanceOf[KyuubiSessionManager]
-          .applicationManager.killApplication(applicationManagerInfo, refId)
-        if (!killMessage._1) {
-          msg = s"Engine $engineSpace failed to get deleted forcibly," +
-            s"cause ${killMessage._2}"
-          error(msg)
-        }
+      val applicationManagerInfo = ApplicationManagerInfo(
+        Option(sparkMaster),
+        Option(sparK8Context),
+        Option(sparK8Namespace))
 
-      case false =>
-        withDiscoveryClient(fe.getConf) { discoveryClient =>
-          val engineNodes = discoveryClient.getChildren(engineSpace)
-          engineNodes.foreach { node =>
-            val nodePath = s"$engineSpace/$node"
-            info(s"Deleting engine node:$nodePath")
-            try {
-              discoveryClient.delete(nodePath)
-            } catch {
-              case e: Exception =>
-                error(s"Failed to delete engine node:$nodePath", e)
-                throw new NotFoundException(s"Failed to delete engine node:$nodePath," +
-                  s"${e.getMessage}")
-            }
+      var killMessage: KillResponse = (false, "UNKNOWN")
+      killMessage = fe.be.sessionManager.asInstanceOf[KyuubiSessionManager]
+        .applicationManager.killApplication(applicationManagerInfo, refId)
+      if (!killMessage._1) {
+        msg = s"Engine $engineSpace failed to get deleted forcibly," +
+          s"cause ${killMessage._2}"
+        error(msg)
+      }
+    } else {
+      withDiscoveryClient(fe.getConf) { discoveryClient =>
+        val engineNodes = discoveryClient.getChildren(engineSpace)
+        engineNodes.foreach { node =>
+          val nodePath = s"$engineSpace/$node"
+          info(s"Deleting engine node:$nodePath")
+          try {
+            discoveryClient.delete(nodePath)
+          } catch {
+            case e: Exception =>
+              error(s"Failed to delete engine node:$nodePath", e)
+              throw new NotFoundException(s"Failed to delete engine node:$nodePath," +
+                s"${e.getMessage}")
           }
         }
-
+      }
     }
     Response.ok(msg).build()
   }