apache / apache/kyuubi

[TASK][MEDIUM] Refactor ConfigEntry to replace serverOnly with engineRequired

Open
#5,378 2 comments 0 reactions 1 assignee Claimed by @biangjuang View on GitHub
hacktoberfest
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 creating

- [X] I have searched in the [task list](https://github.com/orgs/apache/projects/296) and found no similar tasks.

### Mentor

- [X] I have sufficient knowledge and experience of this task, and I volunteer to be the mentor of this task to guide contributors to complete the task.

### Skill requirements

- Basic knowledge on Scala Programing Language
- High Level knowledge of Kyuubi architecture
- Familiar with Kyuubi and each engine's configuration

### Background and Goals

Kyuubi is mainly composed of two components: Server and Engine. Some configurations take effect on both Server and Engine, but some only take effect on Server or specific Engine.

The Server picks up configurations from `kyuubi-defaults.conf` and passes them to the command line during the launching engine process, including some sensitive data. To overcome it, we introduce a `serverOnly` flag on each configuration's definition.

### Implementation steps

Replace the `serverOnly` flag with `requiredByEngines(...)` and `requiredByAllEngines`, so that we can only pass the required configurations to each engine.

Note: we should always bypass the unknown properties to the engine in case some user custom properties do not take effect.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.