IRC logs for #buildstream for Tuesday, 2020-03-03

*** narispo has joined #buildstream00:53
*** narispo has quit IRC07:25
*** narispo has joined #buildstream07:25
*** narispo has quit IRC08:01
*** narispo has joined #buildstream08:03
*** narispo has quit IRC08:06
*** narispo has joined #buildstream08:07
*** traveltissues has joined #buildstream09:01
*** phildawson-ct has joined #buildstream09:26
*** ikerperez has joined #buildstream09:31
*** benschubert has joined #buildstream09:31
*** tme5 has joined #buildstream09:33
gitlab-br-botBenjaminSchubert approved MR !1826 (juerg/buildbox-signals->master: _sandboxbuildboxrun.py: Fix signal handling) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/182609:34
gitlab-br-botjuergbi merged MR !1826 (juerg/buildbox-signals->master: _sandboxbuildboxrun.py: Fix signal handling) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/182609:44
*** santi has joined #buildstream09:49
*** jonathanmaw has joined #buildstream10:23
WSalmonbenschubert, git-lfs is a nice example as we have done a load to help support it so i have half a idea about it, but i am no expert. basicly if you dont use the git_tag plugin and use the core git plugin then you get diffrent result when cloneing git-lfs repos depending on wheather or not the system git has gitlfs installed. but this comes from the way git manges hooks, if system git has hooks installed then they may alter what happenes, very10:41
WSalmonpopular hooks like gitlfs, (git-review, are commit rather than checkout but are one by default) are on by default. I think we have plenty on our plate for bst2 but i think not using system tools for sources is a big step towards reproducibility for bst3.10:41
WSalmon*if you try to use gitlfs with master the diffrence is that it brakes rather than you getting the objects but you still get diffrent behavoiur10:42
WSalmon /master/core10:43
benschubertWSalmon: > if system git has hooks installed then they may alter what happenes, very10:44
benschubertSeems like the fix here is to provide a config that disables the hooks we don't want forcefully?10:44
WSalmonif the hook allows for that then great but i dont know how well that would scale across a variety of plug ins, it also sounds like a lot of maintenance conpaired to the one off cost of setting it up. i dont think its a battle for any time soon but i think its something to fix if long turm/ heterogeneous run environments reproducibility is important10:56
juergbiWSalmon: the remote asset API might help here as well. for reproducibility you also need a local copy of all sources as you can't expect all sources to remain available upstream indefinitely11:20
juergbiif you keep those in non-expiring CAS with a remote asset server as frontend, the `git` tool is not necessary on the client side11:20
juergbithis is not supported yet but there is a recent ML thread about it11:21
*** cs-shadow has joined #buildstream11:26
WSalmoni think a lorry is a good idea from baserock, but that brakes if your on some corprate system that mandates that you use a newer local source. also source cache is a really good part of this story11:41
WSalmongood point juergbi11:42
coldtomif an artifact pull fails for somehow missing blobs, do people think that the entire build should fail? imo bst should continue and build that component locally (of course, bst artifact pull should fail though)11:46
cs-shadowcoldtom: I agree. If the server is missing blobs, then the client should behave as if the artifact was not cached on the server, i.e. falling back to local builds if posible11:52
*** phil has quit IRC12:33
juergbifallback is not trivial as build-only dependencies of that element may not be in the pipeline12:37
*** delli3 has joined #buildstream12:52
benschubertI think the reason why this happens is because some local artifacts are not checked correctly for completeness, because otherwise, we wouldn't be marking the thing as 'cached' and it would then have its build dependencies included, right?13:29
WSalmonjuergbi, is that right? normally bst tries to pull the target element, if it is not locally cached and then works back from there. i think the issues is that if when it checks the report says it is there but then there is a failur mid fetch then you get a hard crash rather than it being treated as if the artifct server had just said its not there?13:39
*** toscalix has joined #buildstream13:52
*** traveltissues has quit IRC13:53
*** traveltissues has joined #buildstream13:54
*** toscalix has quit IRC13:54
*** flatmush has quit IRC13:55
*** traveltissues has quit IRC13:57
coldtomjuergbi: i'd only want this fallback in a build pipeline, i don't think it'd make sense anywhere else, surely a `bst build` pipeline contains the build deps of everything in it by necessity?14:00
*** santi has quit IRC14:00
*** santi has joined #buildstream14:00
benschubertcoldtom: not necessarily, because you might have things cached at the start14:01
coldtombut if i have something cached locally, then surely its build dependencies are irrelevant in this case14:03
juergbiright, regular pull in a build pipeline doesn't have an issue with fallback14:19
juergbithere are two fallback-related issues, though14:19
juergbione is we can't fallback to building if the artifact is considered locally cached during session initialization. however, this issue should normally not arise because we block required blobs from being expired by casd14:21
juergbithere is still an open bug with regards to logs/metadata files, though, iirc. shouldn't be hard to fix14:21
juergbithe second issue is with remote execution when the user doesn't ask for all blobs to be present in the local cache. remote CAS servers don't provide absolute guarantees with regards to when blobs are deleted14:22
juergbiand thus it's possible that an artifact is available in a remote CAS at the beginning of a session but becomes unavailable as part of a build14:23
juergbiin that case the whole pipeline should likely be retried (still reusing cached artifacts, of course). if it happens frequently, the CAS server is too aggressive in expiry or doesn't have enough disk space14:24
*** toscalix has joined #buildstream14:54
*** santi has quit IRC15:05
*** santi has joined #buildstream15:05
*** traveltissues has joined #buildstream15:08
*** santi has quit IRC15:53
*** santi has joined #buildstream15:55
*** phildawson-ct has quit IRC16:25
*** phildawson has joined #buildstream16:33
*** phildawson_ has joined #buildstream16:37
*** phildawson has quit IRC16:38
*** phildawson_ has quit IRC16:41
*** phildawson has joined #buildstream16:41
*** toscalix has quit IRC16:46
*** toscalix has joined #buildstream16:58
*** toscalix has quit IRC17:14
*** narispo has quit IRC17:18
*** phildawson has quit IRC17:25
*** tme5 has quit IRC17:30
*** narispo has joined #buildstream17:35
*** traveltissues has quit IRC17:52
*** flatmush has joined #buildstream17:57
*** santi has quit IRC18:05
*** rdale has quit IRC18:14
*** jonathanmaw has quit IRC18:20
*** slaf_ has joined #buildstream18:34
*** slaf_ has joined #buildstream18:35
*** slaf has quit IRC18:36
*** slaf_ is now known as slaf18:36
*** narispo has quit IRC18:53
*** narispo has joined #buildstream18:53
*** traveltissues has joined #buildstream19:40
*** benschubert has quit IRC20:49

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!