diff --git a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala index 57b4aa5d2..2c1f11fd8 100644 --- a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala +++ b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala @@ -158,12 +158,15 @@ object SparkSQLEngine extends Logging { // blocking main thread countDownLatch.await() } catch { - case e: KyuubiException if currentEngine.isDefined => - val engine = currentEngine.get - engine.stop() - val event = EngineEvent(engine).copy(diagnostic = e.getMessage) - EventLoggingService.onEvent(event) - error(event, e) + case e: KyuubiException => currentEngine match { + case Some(engine) => + engine.stop() + val event = EngineEvent(engine).copy(diagnostic = e.getMessage) + EventLoggingService.onEvent(event) + error(event, e) + case _ => error("Current SparkSQLEngine is not created.") + } + } } catch { case t: Throwable => error(s"Failed to instantiate SparkSession: ${t.getMessage}", t)