Skip to content

Commit

Permalink
get
Browse files Browse the repository at this point in the history
  • Loading branch information
turboFei committed Feb 18, 2023
1 parent ba1a868 commit 6da9f9b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,11 @@ object KyuubiServer extends Logging {
}

private[kyuubi] def refreshUnlimitedUsers(): Unit = synchronized {
val existingUnlimitedUsers =
kyuubiServer.conf.get(KyuubiConf.SERVER_LIMIT_CONNECTIONS_USER_UNLIMITED_LIST).toSet
val refreshedUnlimitedUsers = KyuubiConf().loadFileDefaults().get(
KyuubiConf.SERVER_LIMIT_CONNECTIONS_USER_UNLIMITED_LIST).toSet
kyuubiServer.backendService.sessionManager.asInstanceOf[KyuubiSessionManager]
.refreshUnlimitedUsers(refreshedUnlimitedUsers)
val sessionMgr = kyuubiServer.backendService.sessionManager.asInstanceOf[KyuubiSessionManager]
val existingUnlimitedUsers = sessionMgr.getUnlimitedUsers()
sessionMgr.refreshUnlimitedUsers(KyuubiConf().loadFileDefaults().get(
KyuubiConf.SERVER_LIMIT_CONNECTIONS_USER_UNLIMITED_LIST).toSet)
val refreshedUnlimitedUsers = sessionMgr.getUnlimitedUsers()
info(s"Refreshed unlimited users from $existingUnlimitedUsers to $refreshedUnlimitedUsers")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,10 @@ class KyuubiSessionManager private (name: String) extends SessionManager(name) {
userUnlimitedList)
}

private[kyuubi] def getUnlimitedUsers(): Set[String] = {
limiter.orElse(batchLimiter).map(SessionLimiter.getUnlimitedUsers).getOrElse(Set.empty)
}

private[kyuubi] def refreshUnlimitedUsers(userUnlimitedList: Set[String]): Unit = {
limiter.foreach(SessionLimiter.resetUnlimitedUsers(_, userUnlimitedList))
batchLimiter.foreach(SessionLimiter.resetUnlimitedUsers(_, userUnlimitedList))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,14 @@ object SessionLimiter {
unlimitedUsers)
}

def resetUnlimitedUsers(limiter: SessionLimiter, unlimitedUsers: Set[String]): Unit = {
def resetUnlimitedUsers(limiter: SessionLimiter, unlimitedUsers: Set[String]): Unit =
limiter match {
case l: SessionLimiterWithUnlimitedUsersImpl => l.setUnlimitedUsers(unlimitedUsers)
case _ =>
}

def getUnlimitedUsers(limiter: SessionLimiter): Set[String] = limiter match {
case l: SessionLimiterWithUnlimitedUsersImpl => l.unlimitedUsers
case _ => Set.empty
}
}

0 comments on commit 6da9f9b

Please sign in to comment.