We should retry connecting to the artifact server when the initial handshake fails
- Dominant language
- Python
- Stars
- 140
- Forks
- 45
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/546)
In GitLab by [[Gitlab user @jjardon]](https://gitlab.com/jjardon) on Aug 2, 2018, 16:45
Updated title.
Essentially this issue is about retrying to connect to the artifact server even if we failed to connect the first time.
## Summary
I think this is better to:
- avoid losing the artifacts from the cache server if there is a temporal hiccup in the cache server when bst is initializing
- Do not saturate the cache server as the request are done in a distributed way, not only in the bst initilization
## What is the current bug behavior?
Seems the current steps are:
- Track -> Pull (From Cache) -> Fetch (Sources) -> Build (Elements) -> Push (To Cache)
## What is the expected correct behavior?
I think it should:
- Track -> Fetch (Sources) -> for each element[pull (from cache) -> Build (Element)->push(to cache)]
Contributor guide
Research direction
No files or tests are named. Start by locating the artifact-server handshake and the cache pull/push paths, then compare their current order with the issue's proposed flow. Done means an initial handshake failure is retried without losing cache artifacts or concentrating requests during initialization.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100