bst pull silently failed when there is a network timeout

Summary

If for some reason a remote cache request timeout, the puller print success and buildstream fallback to a local build.

Steps to reproduce

Make a cache request to timeout using a dummy tcp server accepting connections only. Use that server as a remote artifact cache in pull only mode.

What is the current bug behavior?

After 1 minute, you'll notice that buildstream print SUCCESS for the pull operation then schedule a local build.

What is the expected correct behavior?

BuildStream should at least print a WARNING to indicate that the request timed out and then fallback to a local build. It shouldn't silently fails.

Relevant logs and/or screenshots

[00:01:00][84f1db78][ pull:perl.bst          ] SUCCESS perl/84f1db78-pull.344.log
[--:--:--][84f1db78][fetch:perl.bst          ] START   perl/84f1db78-fetch.443.log
[--:--:--][84f1db78][fetch:perl.bst          ] START   Fetching git@github.com:perl/perl

Note that the pull terminated exactly after 1 minute and then a normal build has been scheduled (fetch + build). In that case, the issue was caused by a wrong system proxy configuration.

Other relevant information

  • BuildStream version affected: /milestone %"BuildStream_v1.1"

Edited by Antoine Wacheux
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information