[TASK][MEDIUM] Refactor ConfigEntry to replace serverOnly with engineRequired
#5,378 opened on Oct 8, 2023
Repository metrics
- Stars
- (2,332 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
Code of Conduct
- I agree to follow this project's Code of Conduct
Search before creating
- I have searched in the task list and found no similar tasks.
Mentor
- 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