apache / apache/buildstream

We should retry connecting to the artifact server when the initial handshake fails

Open
#546 8 comments 0 reactions 0 assignees View on GitHub
cache server enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.