[feat] admin api/cli to delete package uploaded by pulsar-admin functions upload
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.
### Motivation
There is `pulsar-admin functions upload` feature but no delete feature provided. So any file/package uploaded by this method will be in the pulsar storage forever (including anonymous package provided when create a function via API).
Due to some reason, our client team keep uploading package to pulsar functions and seem like now every new pulsar-worker started, it has to download all uploaded package including orphan ones.
### Solution
Provide a feature to list and delete orphan package or simply delete a package
### Alternatives
Provide a document to manual delete related znode in /pulsar/functions/... and their related entries in bookeepers
### Anything else?
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
Research direction
Start by tracing the existing pulsar-admin functions upload command and the Functions API path that stores uploaded packages. Read how package references are recorded in Pulsar storage, including the mentioned /pulsar/functions/... znodes and BookKeeper entries. Done means the supported interface can either list and remove orphan packages or delete a specified uploaded package, with behavior covered by the relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend, cli, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100