diff --git a/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/session/FlinkSQLSessionManager.scala b/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/session/FlinkSQLSessionManager.scala index 2a72029d40d..ffc7d8c3b18 100644 --- a/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/session/FlinkSQLSessionManager.scala +++ b/externals/kyuubi-flink-sql-engine/src/main/scala/org/apache/kyuubi/engine/flink/session/FlinkSQLSessionManager.scala @@ -80,10 +80,16 @@ class FlinkSQLSessionManager(engineContext: DefaultContext) } override def closeSession(sessionHandle: SessionHandle): Unit = { - try { - super.getSessionOption(sessionHandle).foreach { s => - sessionManager.closeSession(s.asInstanceOf[FlinkSessionImpl].fSession.getSessionHandle) + super.getSessionOption(sessionHandle).foreach { s => + val internalSessionHandle = s.asInstanceOf[FlinkSessionImpl].fSession.getSessionHandle + try { + sessionManager.closeSession(internalSessionHandle) + } catch { + case t: Throwable => + warn(s"Error closing flink internal session $internalSessionHandle", t) } + } + try { super.closeSession(sessionHandle) } catch { case t: Throwable =>