This is an automated email from the ASF dual-hosted git repository.
ulyssesyou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new 70a3005ea [KYUUBI #2422] Wrap close session with try-finally
70a3005ea is described below
commit 70a3005ea7893d1065b33ee2dcd6ddfe454db723
Author: wforget <[email protected]>
AuthorDate: Wed Apr 20 09:36:16 2022 +0800
[KYUUBI #2422] Wrap close session with try-finally
### _Why are the changes needed?_
close #2422
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including
negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [ ] [Run
test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests)
locally before make a pull request
Closes #2423 from wForget/KYUUBI-2422.
Closes #2422
94ac9ed1 [wforget] [KYUUBI-2422] Wrap close session with try-finally
Authored-by: wforget <[email protected]>
Signed-off-by: ulysses-you <[email protected]>
---
.../src/main/scala/org/apache/kyuubi/session/SessionManager.scala | 7 +++++--
.../scala/org/apache/kyuubi/session/KyuubiSessionManager.scala | 7 +++++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git
a/kyuubi-common/src/main/scala/org/apache/kyuubi/session/SessionManager.scala
b/kyuubi-common/src/main/scala/org/apache/kyuubi/session/SessionManager.scala
index c0025f9b0..ccc263915 100644
---
a/kyuubi-common/src/main/scala/org/apache/kyuubi/session/SessionManager.scala
+++
b/kyuubi-common/src/main/scala/org/apache/kyuubi/session/SessionManager.scala
@@ -118,8 +118,11 @@ abstract class SessionManager(name: String) extends
CompositeService(name) {
throw KyuubiSQLException(s"Invalid $sessionHandle")
}
info(s"$sessionHandle is closed, current opening sessions
$getOpenSessionCount")
- session.close()
- deleteOperationLogSessionDir(sessionHandle)
+ try {
+ session.close()
+ } finally {
+ deleteOperationLogSessionDir(sessionHandle)
+ }
}
private def deleteOperationLogSessionDir(sessionHandle: SessionHandle): Unit
= {
diff --git
a/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionManager.scala
b/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionManager.scala
index 404a2d4e0..97ba4fddf 100644
---
a/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionManager.scala
+++
b/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionManager.scala
@@ -95,8 +95,11 @@ class KyuubiSessionManager private (name: String) extends
SessionManager(name) {
override def closeSession(sessionHandle: SessionHandle): Unit = {
val session = getSession(sessionHandle)
- super.closeSession(sessionHandle)
- limiter.foreach(_.decrement(UserIpAddress(session.user,
session.ipAddress)))
+ try {
+ super.closeSession(sessionHandle)
+ } finally {
+ limiter.foreach(_.decrement(UserIpAddress(session.user,
session.ipAddress)))
+ }
}
def openBatchSession(