@@ -419,32 +419,16 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
419
419
}
420
420
}
421
421
422
- // Visible for testing.
423
- private [kyuubi] def insertKubernetesEngineInfo (engineInfo : KubernetesEngineInfo ): Unit = {
424
- val insertQuery =
425
- s """
426
- |INSERT INTO $KUBERNETES_ENGINE_INFO_TABLE(
427
- |identifier,
428
- |context,
429
- |namespace,
430
- |pod_name,
431
- |pod_state,
432
- |container_state,
433
- |engine_id,
434
- |engine_name,
435
- |engine_state,
436
- |engine_error,
437
- |update_time
438
- |)
439
- |SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
440
- |WHERE NOT EXISTS (
441
- | SELECT 1 FROM $KUBERNETES_ENGINE_INFO_TABLE WHERE identifier = ?
442
- |)
443
- | """ .stripMargin
422
+ override def upsertKubernetesEngineInfo (engineInfo : KubernetesEngineInfo ): Unit = {
423
+ val query = dialect.insertOrReplace(
424
+ KUBERNETES_ENGINE_INFO_TABLE ,
425
+ KUBERNETES_ENGINE_INFO_COLUMNS ,
426
+ KUBERNETES_ENGINE_INFO_KEY_COLUMN ,
427
+ engineInfo.identifier)
444
428
JdbcUtils .withConnection { connection =>
445
429
execute(
446
430
connection,
447
- insertQuery ,
431
+ query ,
448
432
engineInfo.identifier,
449
433
engineInfo.context.orNull,
450
434
engineInfo.namespace.orNull,
@@ -455,99 +439,7 @@ class JDBCMetadataStore(conf: KyuubiConf) extends MetadataStore with Logging {
455
439
engineInfo.engineName,
456
440
engineInfo.engineState,
457
441
engineInfo.engineError.orNull,
458
- System .currentTimeMillis(),
459
- engineInfo.identifier)
460
- }
461
- }
462
-
463
- // Visible for testing.
464
- private [kyuubi] def updateKubernetesEngineInfo (engineInfo : KubernetesEngineInfo ): Unit = {
465
- val queryBuilder = new StringBuilder
466
- val params = ListBuffer [Any ]()
467
-
468
- queryBuilder.append(s " UPDATE $KUBERNETES_ENGINE_INFO_TABLE" )
469
- val setClauses = ListBuffer [String ]()
470
- engineInfo.context.foreach { context =>
471
- setClauses += " context = ?"
472
- params += context
473
- }
474
- engineInfo.namespace.foreach { namespace =>
475
- setClauses += " namespace = ?"
476
- params += namespace
477
- }
478
- Option (engineInfo.podName).foreach { pod =>
479
- setClauses += " pod_name = ?"
480
- params += pod
481
- }
482
- Option (engineInfo.podState).foreach { podState =>
483
- setClauses += " pod_state = ?"
484
- params += podState
485
- }
486
- Option (engineInfo.containerState).foreach { containerState =>
487
- setClauses += " container_state = ?"
488
- params += containerState
489
- }
490
- Option (engineInfo.engineId).foreach { appId =>
491
- setClauses += " engine_id = ?"
492
- params += appId
493
- }
494
- Option (engineInfo.engineName).foreach { appName =>
495
- setClauses += " engine_name = ?"
496
- params += appName
497
- }
498
- Option (engineInfo.engineState).foreach { appState =>
499
- setClauses += " engine_state = ?"
500
- params += appState
501
- }
502
- engineInfo.engineError.foreach { appError =>
503
- setClauses += " engine_error = ?"
504
- params += appError
505
- }
506
- setClauses += " update_time = ?"
507
- params += System .currentTimeMillis()
508
-
509
- queryBuilder.append(setClauses.mkString(" SET " , " , " , " " ))
510
- queryBuilder.append(" WHERE identifier = ?" )
511
- params += engineInfo.identifier
512
-
513
- val query = queryBuilder.toString()
514
- JdbcUtils .withConnection { connection =>
515
- withUpdateCount(connection, query, params.toSeq: _* ) { updateCount =>
516
- if (updateCount == 0 ) {
517
- throw new KyuubiException (
518
- s " Error updating kubernetes engine info for ${engineInfo.identifier} by SQL: $query, " +
519
- s " with params: ${params.mkString(" , " )}" )
520
- }
521
- }
522
- }
523
-
524
- }
525
-
526
- override def upsertKubernetesEngineInfo (engineInfo : KubernetesEngineInfo ): Unit = {
527
- dialect.insertOrReplace(
528
- KUBERNETES_ENGINE_INFO_TABLE ,
529
- KUBERNETES_ENGINE_INFO_COLUMNS ,
530
- KUBERNETES_ENGINE_INFO_KEY_COLUMN ) match {
531
- case Some (query) =>
532
- JdbcUtils .withConnection { connection =>
533
- execute(
534
- connection,
535
- query,
536
- engineInfo.identifier,
537
- engineInfo.context.orNull,
538
- engineInfo.namespace.orNull,
539
- engineInfo.podName,
540
- engineInfo.podState,
541
- engineInfo.containerState,
542
- engineInfo.engineId,
543
- engineInfo.engineName,
544
- engineInfo.engineState,
545
- engineInfo.engineError.orNull,
546
- System .currentTimeMillis())
547
- }
548
- case None =>
549
- insertKubernetesEngineInfo(engineInfo)
550
- updateKubernetesEngineInfo(engineInfo)
442
+ System .currentTimeMillis())
551
443
}
552
444
}
553
445
0 commit comments