|
18 | 18 | package org.apache.kyuubi.engine
|
19 | 19 |
|
20 | 20 | import java.io.{File, IOException}
|
21 |
| -import java.lang.ProcessBuilder.Redirect |
22 | 21 | import java.nio.charset.StandardCharsets
|
23 | 22 | import java.nio.file.{Files, Path, Paths}
|
24 | 23 |
|
25 | 24 | import scala.collection.JavaConverters._
|
26 |
| -import scala.util.matching.Regex |
27 | 25 |
|
28 | 26 | import com.google.common.collect.EvictingQueue
|
29 | 27 | import org.apache.commons.lang3.StringUtils.containsIgnoreCase
|
@@ -98,7 +96,7 @@ trait ProcBuilder {
|
98 | 96 | @volatile private var error: Throwable = UNCAUGHT_ERROR
|
99 | 97 |
|
100 | 98 | private val engineLogMaxLines = conf.get(KyuubiConf.SESSION_ENGINE_STARTUP_MAX_LOG_LINES)
|
101 |
| - private val lastRowsOfLog: EvictingQueue[String] = EvictingQueue.create(engineLogMaxLines) |
| 99 | + protected val lastRowsOfLog: EvictingQueue[String] = EvictingQueue.create(engineLogMaxLines) |
102 | 100 | // Visible for test
|
103 | 101 | @volatile private[kyuubi] var logCaptureThreadReleased: Boolean = true
|
104 | 102 | private var logCaptureThread: Thread = _
|
@@ -186,28 +184,7 @@ trait ProcBuilder {
|
186 | 184 | proc
|
187 | 185 | }
|
188 | 186 |
|
189 |
| - val YARN_APP_NAME_REGEX: Regex = "application_\\d+_\\d+".r |
190 |
| - |
191 |
| - def killApplication(line: String = lastRowsOfLog.toArray.mkString("\n")): String = |
192 |
| - YARN_APP_NAME_REGEX.findFirstIn(line) match { |
193 |
| - case Some(appId) => |
194 |
| - env.get(KyuubiConf.KYUUBI_HOME) match { |
195 |
| - case Some(kyuubiHome) => |
196 |
| - val pb = new ProcessBuilder("/bin/sh", s"$kyuubiHome/bin/stop-application.sh", appId) |
197 |
| - pb.environment() |
198 |
| - .putAll(childProcEnv.asJava) |
199 |
| - pb.redirectError(Redirect.appendTo(engineLog)) |
200 |
| - pb.redirectOutput(Redirect.appendTo(engineLog)) |
201 |
| - val process = pb.start() |
202 |
| - process.waitFor() match { |
203 |
| - case id if id != 0 => s"Failed to kill Application $appId, please kill it manually. " |
204 |
| - case _ => s"Killed Application $appId successfully. " |
205 |
| - } |
206 |
| - case None => |
207 |
| - s"KYUUBI_HOME is not set! Failed to kill Application $appId, please kill it manually." |
208 |
| - } |
209 |
| - case None => "" |
210 |
| - } |
| 187 | + def killApplication(line: String = lastRowsOfLog.toArray.mkString("\n")): String = "" |
211 | 188 |
|
212 | 189 | def close(): Unit = {
|
213 | 190 | if (logCaptureThread != null) {
|
|
0 commit comments