apache / apache/pinot

Adding Plugins APIs to show Pinot plugins status and support loading/unloading plugins at runtime

Open
#6,377 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

The motivation of this is due to my recent test with S3 and other remote filesystems. If we want to use PinotFS in Pinot, the only way is to build a custom config file and set the configurations explicitly, then restart the Pinot components. And it's impossible for users to run Pinot Quickstart and interact with deep store like s3.

The proposed change is to add new APIs in all Pinot components to allow users to dynamically load Pinot plugins. E.g. For PinotFS, we can ask users to provide .

Below are sample APIs:
```
GET /plugins/filesystem
GET /plugins/filesystem/
POST /plugins/filesystem/load
DELETE /plugins/filesystem/
```

Contributor guide

Open the contributing guide

Research direction

Start by examining PinotFS usage and the proposed plugin endpoints: GET /plugins/filesystem, GET /plugins/filesystem/, POST /plugins/filesystem/load, and DELETE /plugins/filesystem/. Done would require agreed APIs across Pinot components that can report plugin status and load or unload plugins at runtime without restarting components.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.