[BUG] Fix TestFabricBuildout to build new regions in an ideal way
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.
### Venice version
All
### System information
- **OS Platform and Distribution (e.g., Linux Ubuntu 20.0)**:
All
- **JDK version**:
8/11/17
### Describe the problem
`TestFabricBuildout` uses an unsupported mode to setup the tests - by creating stores and running pushes to them directly in child regions. This is not how new regions will be added in practice. We need the test setup to support adding blank regions so that we can simulate the true fabric buildout process.
### Tracking information
_No response_
### Code to reproduce bug
_No response_
### What component(s) does this bug affect?
- [X] `Controller`: This is the control-plane for Venice. Used to create/update/query stores and their metadata.
- [X] `Router`: This is the stateless query-routing layer for serving read requests.
- [X] `Server`: This is the component that persists all the store data.
- [X] `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.
- [ ] `Alpini`: This is the framework that fast-client and routers use to route requests to the storage nodes that have the data.
- [ ] `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.
- [ ] `Scripts`: These are the various ops scripts in the repo.
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
Locate the TestFabricBuildout test and inspect how it currently creates stores and pushes directly to child regions. Compare that setup with the intended blank-region fabric buildout process; done means the test can add blank regions and simulate how new regions are actually added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100