apache/kyuubi

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

Open

#5,378 opened on Oct 8, 2023

View on GitHub
 (2 comments) (0 reactions) (1 assignee)Scala (996 forks)batch import
hacktoberfest

Repository metrics

Stars
 (2,332 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

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

Contributor guide