LantaoJin commented on a change in pull request #26543: [SPARK-29911][SQL]
Uncache cached tables when session closed
URL: https://github.com/apache/spark/pull/26543#discussion_r348498889
##########
File path:
sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLSessionManager.scala
##########
@@ -75,6 +75,9 @@ private[hive] class SparkSQLSessionManager(hiveServer:
HiveServer2, sqlContext:
override def closeSession(sessionHandle: SessionHandle): Unit = {
HiveThriftServer2.listener.onSessionClosed(sessionHandle.getSessionId.toString)
+ val ctx =
sparkSqlOperationManager.sessionToContexts.getOrDefault(sessionHandle,
sqlContext)
+
ctx.sparkSession.sessionState.catalog.getTempViewNames().foreach(ctx.uncacheTable)
Review comment:
Since there is no place to trace all live spark sessions in a
non-thrift-server application. For example spark session can be stored in
thread local variable and be garbage collection when user's thread exit. So it
still has memory leak problem in an application. I think I can open a new
ticket to manage/trace all created spark session. For now, could we accept this
due to thrift server is official implemented multiple session application.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]