Skip to content

Commit fc437aa

Browse files
committed
Add app name column
1 parent b09cef8 commit fc437aa

File tree

5 files changed

+26
-6
lines changed

5 files changed

+26
-6
lines changed

kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KubernetesApplicationOperation.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,8 @@ class KubernetesApplicationOperation extends ApplicationOperation with Logging {
469469
context = kubernetesInfo.context,
470470
namespace = kubernetesInfo.namespace,
471471
podName = pod.getMetadata.getName,
472-
appId = pod.getMetadata.getLabels.get(SPARK_APP_ID_LABEL),
472+
appId = getPodAppId(pod),
473+
appName = getPodAppName(pod),
473474
appState = appState.toString,
474475
appError = appError)))
475476
if (cleanupTerminatedAppInfoTrigger.getIfPresent(key) == null) {

kyuubi-server/src/main/scala/org/apache/kyuubi/server/metadata/MetadataManager.scala

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,12 @@ class MetadataManager extends AbstractService("MetadataManager") {
136136
}
137137

138138
def getKubernetesApplicationInfo(identifier: String): Option[ApplicationInfo] = {
139-
Option(withMetadataRequestMetrics(
140-
_metadataStore.getKubernetesMetadata(identifier))).map(buildApplicationInfo)
139+
Option(withMetadataRequestMetrics(_metadataStore.getKubernetesMetadata(identifier))).map {
140+
metadata =>
141+
val appInfo = buildApplicationInfo(metadata)
142+
info(s"Retrieve $appInfo from kubernetes metadata store: $metadata")
143+
appInfo
144+
}
141145
}
142146

143147
def getBatches(
@@ -380,7 +384,7 @@ object MetadataManager extends Logging {
380384
def buildApplicationInfo(metadata: KubernetesMetadata): ApplicationInfo = {
381385
ApplicationInfo(
382386
id = metadata.appId,
383-
name = metadata.podName,
387+
name = metadata.appName,
384388
state = ApplicationState.withName(metadata.appState),
385389
error = metadata.appError)
386390
}

kyuubi-server/src/main/scala/org/apache/kyuubi/server/metadata/api/KubernetesMetadata.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ package org.apache.kyuubi.server.metadata.api
2525
* @param namespace the kubernetes namespace.
2626
* @param podName the kubernetes pod name.
2727
* @param appId the application id.
28+
* @param appName the application name.
2829
* @param appState the application state.
2930
* @param appError the application error diagnose.
3031
* @param createTime the metadata create time.
@@ -36,6 +37,7 @@ case class KubernetesMetadata(
3637
namespace: Option[String],
3738
podName: String,
3839
appId: String,
40+
appName: String,
3941
appState: String,
4042
appError: Option[String],
4143
createTime: Long = 0L,

kyuubi-server/src/main/scala/org/apache/kyuubi/server/metadata/jdbc/JDBCMetadataStore.scala

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,12 +428,13 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
428428
|namespace,
429429
|pod_name,
430430
|app_id,
431+
|app_name,
431432
|app_state,
432433
|app_error,
433434
|create_time,
434435
|update_time
435436
|)
436-
|SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?
437+
|SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
437438
|WHERE NOT EXISTS (
438439
| SELECT 1 FROM $KUBERNETES_METADATA_TABLE WHERE identifier = ?
439440
|)
@@ -448,6 +449,7 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
448449
metadata.namespace.orNull,
449450
metadata.podName,
450451
metadata.appId,
452+
metadata.appName,
451453
metadata.appState,
452454
metadata.appError.orNull,
453455
currentTime,
@@ -478,6 +480,10 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
478480
setClauses += "app_id = ?"
479481
params += appId
480482
}
483+
Option(metadata.appName).foreach { appName =>
484+
setClauses += "app_name = ?"
485+
params += appName
486+
}
481487
Option(metadata.appState).foreach { appState =>
482488
setClauses += "app_state = ?"
483489
params += appState
@@ -605,6 +611,7 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
605611
val namespace = Option(resultSet.getString("namespace"))
606612
val pod = resultSet.getString("pod_name")
607613
val appId = resultSet.getString("app_id")
614+
val appName = resultSet.getString("app_name")
608615
val appState = resultSet.getString("app_state")
609616
val appError = Option(resultSet.getString("app_error"))
610617
val createTime = resultSet.getLong("create_time")
@@ -616,6 +623,7 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
616623
namespace = namespace,
617624
podName = pod,
618625
appId = appId,
626+
appName = appName,
619627
appState = appState,
620628
appError = appError,
621629
createTime = createTime,
@@ -766,6 +774,7 @@ object JDBCMetadataStore {
766774
"namespace",
767775
"pod_name",
768776
"app_id",
777+
"app_name",
769778
"app_state",
770779
"app_error",
771780
"create_time",

kyuubi-server/src/test/scala/org/apache/kyuubi/server/metadata/jdbc/JDBCMetadataStoreSuite.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ class JDBCMetadataStoreSuite extends KyuubiFunSuite {
278278
namespace = Some("namespace"),
279279
podName = "podName",
280280
appId = "appId",
281+
appName = "appName",
281282
appState = "FINISHED",
282283
appError = Some("appError"))
283284

@@ -289,6 +290,7 @@ class JDBCMetadataStoreSuite extends KyuubiFunSuite {
289290
assert(metadata2.namespace == metadata.namespace)
290291
assert(metadata2.podName == metadata.podName)
291292
assert(metadata2.appId == metadata.appId)
293+
assert(metadata2.appName == metadata.appName)
292294
assert(metadata2.appState == metadata.appState)
293295
assert(metadata2.appError == metadata.appError)
294296
assert(metadata2.createTime > 0)
@@ -300,6 +302,7 @@ class JDBCMetadataStoreSuite extends KyuubiFunSuite {
300302
namespace = Some("namespace2"),
301303
podName = "podName2",
302304
appId = "appId2",
305+
appName = "appName2",
303306
appState = "FAILED",
304307
appError = Some("appError2"))
305308
jdbcMetadataStore.upsertKubernetesMetadata(metadata3)
@@ -310,6 +313,7 @@ class JDBCMetadataStoreSuite extends KyuubiFunSuite {
310313
assert(metadata4.namespace == metadata3.namespace)
311314
assert(metadata4.podName == metadata3.podName)
312315
assert(metadata4.appId == metadata3.appId)
316+
assert(metadata4.appName == metadata3.appName)
313317
assert(metadata4.appState == metadata3.appState)
314318
assert(metadata4.appError == metadata3.appError)
315319
assert(metadata4.createTime == metadata2.createTime)
@@ -318,7 +322,7 @@ class JDBCMetadataStoreSuite extends KyuubiFunSuite {
318322
val applicationInfo =
319323
MetadataManager.buildApplicationInfo(jdbcMetadataStore.getKubernetesMetadata(tag))
320324
assert(applicationInfo.id == "appId2")
321-
assert(applicationInfo.name == "podName2")
325+
assert(applicationInfo.name == "appName2")
322326
assert(applicationInfo.state == ApplicationState.FAILED)
323327
assert(applicationInfo.error == Some("appError2"))
324328

0 commit comments

Comments
 (0)