You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@kyuubi.apache.org by "Sunwoo-Shin (via GitHub)" <gi...@apache.org> on 2026/06/18 14:12:15 UTC
[PR] [KYUUBI #7435][SERVER] Honor server-level kyuubi.server.info.provider in getInfo [kyuubi]
Sunwoo-Shin opened a new pull request, #7519:
URL: https://github.com/apache/kyuubi/pull/7519
### Why are the changes needed?
Closes #7435.
`kyuubi.server.info.provider` is declared `.serverOnly`, so `KyuubiConf#getUserDefaults` strips it from the per-session conf that `KyuubiSessionManager#openSession` builds. As a result `KyuubiSessionImpl#getInfo` reads it through `sessionConf.get(SERVER_INFO_PROVIDER)`, which never sees the server-level value and always returns the hard-coded default `ENGINE`. Setting `kyuubi.server.info.provider=SERVER` in `kyuubi-defaults.conf` is therefore silently ignored, and every `GetInfo` request waits for the engine to launch and forwards to it instead of being answered by the server directly.
The fix reads the value from the session conf first — so an explicit per-session override still wins — and falls back to the server-level conf when the serverOnly entry was stripped. The `.serverOnly` semantics (never propagate the key to the engine) are unchanged; only the read site is fixed.
Affected versions: 1.11.1.
### How was this patch tested?
Added `KyuubiServerInfoProviderSuite`, which boots a server with `kyuubi.server.info.provider=SERVER` set only at the server level (no per-session override) and asserts `GetInfo(CLI_DBMS_NAME)` returns `Apache Kyuubi`. Before the fix it returns the engine name (`Spark SQL`).
```
build/mvn test -pl kyuubi-server -am \
-Dtest=none \
-DwildcardSuites=org.apache.kyuubi.operation.KyuubiServerInfoProviderSuite
```
### Was this patch authored or co-authored using generative AI tooling?
Assisted-by: Claude:claude-opus-4-8
--
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.
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org
Re: [PR] [KYUUBI #7435][SERVER] Honor server-level kyuubi.server.info.provider in getInfo [kyuubi]
Posted by "Sunwoo-Shin (via GitHub)" <gi...@apache.org>.
Sunwoo-Shin commented on code in PR #7519:
URL: https://github.com/apache/kyuubi/pull/7519#discussion_r3439928218
##########
kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionImpl.scala:
##########
@@ -298,7 +298,12 @@ class KyuubiSessionImpl(
}
override def getInfo(infoType: TGetInfoType): TGetInfoValue = {
- sessionConf.get(SERVER_INFO_PROVIDER) match {
+ // SERVER_INFO_PROVIDER is `.serverOnly`, so KyuubiConf.getUserDefaults strips it from
+ // sessionConf. Unless the client set it explicitly for this session, fall back to the
+ // server-level conf so the operator's kyuubi-defaults.conf setting is honored.
+ val provider = sessionConf.getOption(SERVER_INFO_PROVIDER.key)
+ .getOrElse(sessionManager.getConf.get(SERVER_INFO_PROVIDER))
+ provider match {
Review Comment:
Agreed — cleaner. `kyuubi.server.info.provider` is only consumed by KyuubiSessionImpl#getInfo, never by the engine, so dropping serverOnly is safe.
Reverted the getInfo change, removed the flag, and added KyuubiServerInfoProviderSuite.
--
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.
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org
Re: [PR] [KYUUBI #7435][SERVER] Honor server-level kyuubi.server.info.provider in getInfo [kyuubi]
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 closed pull request #7519: [KYUUBI #7435][SERVER] Honor server-level kyuubi.server.info.provider in getInfo
URL: https://github.com/apache/kyuubi/pull/7519
--
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.
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org
Re: [PR] [KYUUBI #7435][SERVER] Honor server-level kyuubi.server.info.provider in getInfo [kyuubi]
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on PR #7519:
URL: https://github.com/apache/kyuubi/pull/7519#issuecomment-4829319077
thanks, merged to master/1.11
--
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.
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org
Re: [PR] [KYUUBI #7435][SERVER] Honor server-level kyuubi.server.info.provider in getInfo [kyuubi]
Posted by "ruanwenjun (via GitHub)" <gi...@apache.org>.
ruanwenjun commented on code in PR #7519:
URL: https://github.com/apache/kyuubi/pull/7519#discussion_r3439674583
##########
kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionImpl.scala:
##########
@@ -298,7 +298,12 @@ class KyuubiSessionImpl(
}
override def getInfo(infoType: TGetInfoType): TGetInfoValue = {
- sessionConf.get(SERVER_INFO_PROVIDER) match {
+ // SERVER_INFO_PROVIDER is `.serverOnly`, so KyuubiConf.getUserDefaults strips it from
+ // sessionConf. Unless the client set it explicitly for this session, fall back to the
+ // server-level conf so the operator's kyuubi-defaults.conf setting is honored.
+ val provider = sessionConf.getOption(SERVER_INFO_PROVIDER.key)
+ .getOrElse(sessionManager.getConf.get(SERVER_INFO_PROVIDER))
+ provider match {
Review Comment:
Would removing serverOnly from SERVER_INFO_PROVIDER be sufficient?
--
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.
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org