-
Notifications
You must be signed in to change notification settings - Fork 924
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[KYUUBI #5373] Engine adaptive pool size #5662
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5662 +/- ##
============================================
- Coverage 58.49% 58.32% -0.17%
Complexity 24 24
============================================
Files 653 653
Lines 39865 39954 +89
Branches 5481 5492 +11
============================================
- Hits 23319 23305 -14
- Misses 14055 14149 +94
- Partials 2491 2500 +9 ☔ View full report in Codecov by Sentry. |
kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala
Outdated
Show resolved
Hide resolved
...s/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala
Outdated
Show resolved
Hide resolved
...s/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala
Outdated
Show resolved
Hide resolved
kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala
Outdated
Show resolved
Hide resolved
client.create(metricsSpace, "PERSISTENT") | ||
} | ||
client.setData( | ||
s"/metrics$engineSpace", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it feasible to append the "load" value in engine's info zonde, and update in place?
if not, and decide to use a new path, we should consider deleting it after engine dead
@yaooqinn how do you think of this path to store engine metrics?
e339ddf
to
f01d130
Compare
af19ce0
to
60852c0
Compare
kyuubi-common/src/main/scala/org/apache/kyuubi/config/KyuubiConf.scala
Outdated
Show resolved
Hide resolved
60852c0
to
559845c
Compare
kyuubi-server/src/main/scala/org/apache/kyuubi/engine/EngineRef.scala
Outdated
Show resolved
Hide resolved
kyuubi-ha/src/main/scala/org/apache/kyuubi/ha/client/EngineServiceDiscovery.scala
Outdated
Show resolved
Hide resolved
kyuubi-common/src/main/scala/org/apache/kyuubi/config/KyuubiConf.scala
Outdated
Show resolved
Hide resolved
559845c
to
688ea74
Compare
Why are the changes needed?
close #5373
This pull request aims to support adaptive engine selection. The specific improvements are as follows:
Spark Engine Reports Status to Zookeeper Regularly: We have modified the Spark engine to periodically report the counts of its
OpenSessionCount
andActiveTask
to Zookeeper.Server Selects Engine Based on Load: The server will select the engine with the lightest load for task allocation based on the information obtained from Zookeeper.
New Engine is Created When OpenSession Exceeds Threshold: If the
OpenSession
count of all engines exceeds a set threshold, the server will submit a new engine.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 locally before make a pull request
Was this patch authored or co-authored using generative AI tooling?