[Feature] Need a simple tool to query data in the store (e.g. for debugging/troubleshooting)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 611
- Forks
- 124
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 26
Description
### Willingness to contribute
No. I cannot contribute a bug fix at this time.
### Feature Request Proposal
Venice's docker image should package a simple documented tool/script to query the data
I tried using `java -jar /opt/venice/bin/venice-admin-tool-all.jar --query ..` but it returns "Schema of store: .. doesn't exist" error. This is a [documented](https://github.com/linkedin/venice/blob/main/clients/venice-admin-tool/README) way
"clients/venice-thin-client/bin/query_key.sh" (Suggested on slack) is not packaged in the docker image.
Working way is to use `java -jar /opt/venice/bin/venice-thin-client-all.jar $storeName $key $router false ""` on the venice-client
### Motivation
> #### What is the use case for this feature?
Troubleshooting / testing
### Details
https://venicedb.slack.com/archives/C03SLQWRSLF/p1682546829621559
### What component(s) does this bug affect?
- [ ] `Controller`: This is the control-plane for Venice. Used to create/update/query stores and their metadata.
- [ ] `Router`: This is the stateless query-routing layer for serving read requests.
- [ ] `Server`: This is the component that persists all the store data.
- [ ] `VenicePushJob`: This is the component that pushes derived data from Hadoop to Venice backend.
- [ ] `Thin Client`: This is a stateless client users use to query Venice Router for reading store data.
- [ ] `Fast Client`: This is a stateful client users use to query Venice Server for reading store data.
- [ ] `Da Vinci Client`: This is an embedded, stateful client that materializes store data locally.
- [ ] `Samza`: This is the library users use to make nearline updates to store data.
- [X] `Admin Tool`: This is the stand-alone client used for ad-hoc operations on Venice.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with clients/venice-thin-client/bin/query_key.sh and the clients/venice-admin-tool/README, then inspect how the Docker image packages venice-admin-tool-all.jar and venice-thin-client-all.jar. The work is done when a documented query tool or script is included in the image and supports troubleshooting store data without relying on an external checkout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java, shell
- Domain
- cli, devops, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100