apache / apache/pinot

Add Built-In plugin related info into pinot-common?

Open
#8,099 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.