[FEATURE] provide flexible scene of tenant and respective value of the connection's limit
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [X] I have searched in the [issues](https://github.com/apache/incubator-kyuubi/issues?q=is%3Aissue) and found no similar issues.
### Describe the feature
1. In the kyuubi SeesionLimiter module, the connection's limit canbe a different value of each user
2. In the EnfineRef class of tenant module, the group name canbe fetching from database not only hadoop ugi
3. In addition, the two features are all with the help of modifing MetadataStore module slightly
### Motivation
Using kyuubi session limit and engine share more flexible
### Describe the solution
Feature 1
A: using respective value to limit connections in the SessionLimit class which is fetched from mysql
Feature 2
A: using respective value to representing the group name in the EngineRef class which is fetched from mysql
Feature 3.
A: extracting the datasouce in the JDBCMetadataStore to change the method of connection fetch
### Additional context
_No response_
### Are you willing to submit PR?
- [ ] Yes. I can submit a PR independently to improve.
- [X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [ ] No. I cannot submit a PR at this time.
Contributor guide
Research direction
Start by reading the SessionLimiter, EngineRef, MetadataStore, and JDBCMetadataStore modules named in the issue. Clarify how per-user connection limits and database-backed group names should work, then identify the metadata connection changes needed; done means all three behaviors are specified and covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- hadoop, mysql, scala
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100