Add Built-In plugin related info into pinot-common?
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
While it's true that any pinot package should has NO dependency on pinot plugins, we have some ***build-in*** plugin, which is likely will never be removed from pinot repo, kinesis is one of the example.
Other part of Pinot may need some information about those build-in plugins, https://github.com/apache/pinot/pull/8067 is an example.
Is it a good idea to create a "PinotBuiltInPluginsType" file in pinot-common, so that both pinot-kinesis, pinot-broker, pinot-segments-local can import pinot-common and get the `KINESIS_STREAM_TYPE = "kinesis";` string.
We currently hardcode the string in https://github.com/apache/pinot/pull/8067 to avoid pulling in dependency, which is not good enough IMO.
cc @snleee @Jackie-Jiang @npawar @Jackie-Jiang @sajjad-moradi
Contributor guide
Research direction
Start by reviewing the usage described in pull request #8067 and the pinot-common, pinot-kinesis, pinot-broker, and pinot-segments-local modules. Check how the shared built-in plugin type would be exposed without introducing plugin dependencies, then replace the relevant hardcoded Kinesis string and verify the affected modules build successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100