...
- Server no longer upload segment data. Instead during the commit step, only segment metadata is upload to the controller (to be written into zk).
- Server can submit an asynchronous task to upload the segment build to a configured deep storage.
- When a slow server is asked to download a segment, it will go through the segmentLocation list for the segment. It will first try to download from the deep storage. If not available, it will then download from the servers.
- To facilitate download from servers, Pinot servers will have a new REST api for segment download.
Pros:
- Simple to implement
- Minimal changes to the current controller/server FSMs used in the LLC segment protocols: some noticeable changes would be in the controller FSM – the Committer Uploading state now becomes obsolete for obvious reason and should be generalized to a state which reflects the segment is being persisted.
...