[Feature] Venice Push Status System store needs to have a stronger guarantee since it is a critical piece in Push Job
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
Right now, Venice Push Status System Store creation seems to be a best effort in prod and some stores have it and some stores are not.
But polling DaVinci Push Status System Store is in the critical path of push job offline status polling and if push status system store is not there, the push job will never succeed.
One idea is to have a monitoring service in Controller to periodically check the healthiness of the push status system store for each Venice store and fix it automatically.
Motivation
What is the use case for this feature?
This is to improve write path availability.
Details
No response
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. -
VenicePulsarSink: This is a Sink connector for Apache Pulsar that pushes data from Pulsar into Venice. -
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. -
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
No files or tests are named. Start by tracing Venice store creation in the Controller and Da Vinci's Push Status System Store polling path, then determine how health is currently observed. Done would require an agreed design and implementation that reliably ensures the store exists and can be repaired when missing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100