apache / apache/kyuubi

[FEATURE] Implement a tag based `SessionConfAdvisor`

Open
#2,270 0 comments 0 reactions 0 assignees View on GitHub
kind:feature priority:major
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

As discussed in https://github.com/apache/incubator-kyuubi/issues/966#issuecomment-901945984, I want to implement a tag based `SessionConfAdvisor` that gets some session configuration for given tags.

Tag level:
+ SYSTEM
+ SERVER
+ USER
+ TAG

Priority of configuration: TAG > USER > SERVER > SYSTEM

### Motivation

I want to optimize the configuration based on some tags specified by the user.

### Describe the solution

We can implement `FileTagConfAdvisor` first and store the tag configuration in a file.

### Additional context

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing SessionConfAdvisor entry point and the proposed FileTagConfAdvisor described in the issue, then review issue #966 for the prior discussion. Define how SYSTEM, SERVER, USER, and TAG settings are stored and resolved, with TAG taking precedence over USER, SERVER, and SYSTEM. Done means tag-based session configuration is implemented with the stated priority order.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.