IRC logs for #buildstream for Thursday, 2019-08-22

*** samkirkham has joined #buildstream07:17
*** ikerperez has joined #buildstream07:31
*** rdale has joined #buildstream07:59
*** tme5 has joined #buildstream08:44
*** traveltissues has joined #buildstream09:00
*** phildawson_ has joined #buildstream09:01
*** jonathanmaw has joined #buildstream09:15
*** paulsherwood has joined #buildstream09:21
*** lachlan has joined #buildstream09:31
*** lachlan has quit IRC09:43
*** lachlan has joined #buildstream09:56
*** lachlan has quit IRC10:07
*** lachlan has joined #buildstream10:10
*** lachlan has quit IRC10:15
*** lachlan has joined #buildstream10:19
tlater[m]juergbi: Remember our little discussion about split artifact caches and expiry?10:25
tlater[m]I'm currently running into an issue where a non-split artifact cache will expire CAS blobs before the relevant artifact proto is uploaded, and therefore error out thinking it doesn't have all files.10:27
tlater[m]I'm not sure what to do with this... Tempted to completely disable those checks for all caches after all.10:29
*** lachlan has quit IRC10:49
jennisI think bst-artifact-server is borked10:54
jennisfor master, I've just tried to start a remote (`bst-artifact-server --enable-push --port 8080 artifacts`) and then build the autotools project. We fail when we try to push10:54
tpollardlovely....10:55
jennishttps://hastebin.com/utitemejem.md10:58
tpollardI'll try to replicate11:01
tme5my MR CI just failed on analysis stage.. is that my fault?11:03
*** lachlan has joined #buildstream11:03
tme5ERROR: Uploading artifacts to coordinator... error  error=couldn't execute POST against https://gitlab.com/api/v4/jobs/277719507/artifacts?artifact_format=zip&artifact_type=archive11:03
tpollardjennis: yep same error for me11:05
jennistme5, not sure what your changes are, but if you try the job again and it fails in the same way, that's usually a pretty good indicator11:06
tpollardthe buildtrees integration tests build an autotools project and user the artifact server, so I'm not sure how this is happening11:06
jennisThey directly use `bst-artifact-server`...?11:07
jennis(i'd imagine so, just checking though)11:07
*** lachlan has quit IRC11:08
tpollardit uses the casserver11:09
tlater[m]jennis: They use create_artifact_server11:09
tlater[m]Which is called by that command11:09
tlater[m]Not the same CLI, in other words, but that's unlikely to be the problem.11:09
tlater[m]I suspect it's some detail about how casd is installed11:10
jennisok, well i'd have naively guessed that we made a change to create_artifact_server but not to `bst-artifact-server`11:10
jennisI'll have a look11:10
tlater[m]Oh, that's possible, but that would only change how the command line works :)11:12
*** lachlan has joined #buildstream11:12
gitlab-br-botmarge-bot123 merged MR !1541 (tmewett/artifact-help->master: Clarify bst artifact subcommand help text) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/154111:13
*** phoenix has joined #buildstream11:22
*** lachlan has quit IRC11:49
gitlab-br-bottraveltissues opened issue #1110 (use `show_default` for Click.options) on buildstream https://gitlab.com/BuildStream/buildstream/issues/111011:55
*** qinusty has joined #buildstream12:03
juergbijennis: buildbox-casd is in the PATH in bst-artifact-server's environment?12:12
juergbihm, I see the issue here as well, now, wlil look into it12:19
tpollardI can't see anything that stands out as obviously at fault12:21
tpollardbut I'm guessing going directly into server_main bypasses some of the setup needed12:22
juergbioh, the utils._is_main_process() safe guard I added is now an issue in bst-artifact-server, of course12:36
juergbitrivial to fix but should have caught this earlier :-/12:36
tpollardah in casremote init?12:37
juergbino, in _get_local_cas()12:37
tpollardright, and the artifactshare used in the test suite is not in the main process12:39
juergbiindeed12:39
gitlab-br-botjuergbi opened MR !1558 (juerg/server-casd->master: casserver.py: Fix write operations with bst-artifact-server) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/155812:48
juergbijennis: ^^ sorry about that12:48
gitlab-br-bottlater approved MR !1558 (juerg/server-casd->master: casserver.py: Fix write operations with bst-artifact-server) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/155812:49
juergbitlater[m]: expiry before artifact proto upload: is this with a tiny quota or why would it expire?12:49
tlater[m]juergbi: Tiny quota in the test suite, but I can see this happening in practice.12:50
tlater[m]It'd result in an occasional push failure12:50
tlater[m]More frequent if the cache is full.12:50
juergbionly if half the quota is smaller than the artifact that is being uploaded (or multiple artifacts in case of parallel upload), right?12:51
tlater[m]Oh, yeah, right12:51
tlater[m]Hrm...12:51
juergbiso I don't expect it to be a big practical issue, although a better error message would be nice, of course12:51
juergbifor the local cache we catch this case and provide a clear error message12:51
juergbifor remote it's more difficult12:51
tlater[m]I don't think we can really give a better error message in the local case either12:52
juergbiwe already do12:52
tlater[m]Without keeping track of "these were the blobs we've recently received"12:52
tlater[m]Because the requests are now independent12:52
tlater[m]If we could give a better error message we could avoid the problem :)12:52
juergbifor the local case we start buildbox-casd with --protect-session-blobs which prohibits expiry of blobs added/used after start of the bst session12:53
juergbibut that's strictly local12:53
tlater[m]Ah, that local case12:53
tlater[m]Gotcha12:53
* tlater[m] was thinking of the non-split split12:53
juergbiah, no, still an issue there12:54
tlater[m]Right, I suppose I can make that the new behavior for the test case, and that'll be ok then12:54
tlater[m]I'll see if I need to change an error message for the local case when i get to rebasing on top of that12:55
tpollardjennis: I feel you can do similar with notify_fork_disabled for the command you're trying to add12:55
tlater[m]ty juergbi!12:55
*** phoenix has quit IRC13:13
*** lachlan has joined #buildstream13:20
tme5my testing MR is ready for review https://gitlab.com/BuildStream/buildstream/merge_requests/155713:26
*** tpollard has quit IRC13:28
jennisah, thanks for fixing juergbi13:28
*** tpollard has joined #buildstream13:28
*** lachlan has quit IRC13:29
*** lachlan has joined #buildstream13:33
*** lachlan has quit IRC13:48
gitlab-br-botmarge-bot123 merged MR !1558 (juerg/server-casd->master: casserver.py: Fix write operations with bst-artifact-server) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/155813:48
*** lachlan has joined #buildstream13:49
tme5gitlab CI instances seem to have lost internet connection lol14:22
*** lachlan has quit IRC14:23
tlater[m]Poor jennis just wants to get his MR tested14:33
jennisIt's cool14:34
jennisI checked out an older version of buildstream, pushed the artifact, then back to my branch ;)14:34
jennisoh, juergbi's fix has landed now anyway14:35
*** phoenix has joined #buildstream14:37
*** lachlan has joined #buildstream14:38
*** lachlan has quit IRC14:59
*** lachlan has joined #buildstream15:05
*** phoenix has quit IRC15:32
jennisjuergbi, traveltissues, I've addressed all discussions on  !1553 (loading artifact deps)15:39
gitlab-br-botMR !1553: Add the ability to load (build) deps from an artifact ref https://gitlab.com/BuildStream/buildstream/merge_requests/155315:39
traveltissuesi'll have a look15:42
gitlab-br-bottraveltissues approved MR !1553 (jennis/load_artifact_dependencies->master: Add the ability to load (build) deps from an artifact ref) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/155315:47
*** lachlan has quit IRC15:49
*** lachlan has joined #buildstream15:51
gitlab-br-bottmewett opened MR !1559 (tmewett/build-deps-cli->master: Remove build --all flag in favour of --deps all/plan) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/155915:56
gitlab-br-bottlater closed issue #1067 (bst artifact/source checkout UI should be made consistent with workspace checkout) on buildstream https://gitlab.com/BuildStream/buildstream/issues/106716:08
*** traveltissues has quit IRC16:08
*** traveltissues has joined #buildstream16:08
*** traveltissues has quit IRC16:13
*** lachlan has quit IRC16:14
tlater[m]juergbi: Sorry, late, but do you think it would make sense to disallow uploading artifacts that are larger than half the cache size?16:16
*** lachlan has joined #buildstream16:17
tlater[m]It would get around a lot of problems...16:17
juergbitlater[m]: hm, the issue is the cache size/quota on the server side, though, which the client doesn't know16:18
tlater[m]Yes, but the server could refuse artifacts that are that large16:18
tlater[m]We could then give better error messages16:18
juergbihow/where exactly would you add that check?16:19
tlater[m]That is a point16:19
tlater[m]We could keep a runnin total of the blobs we've received in a ReadBatchBlobs?16:19
tlater[m]This wouldn't work with third party CASes, of course, but they have different expiry mechanisms anyway.16:20
juergbicouldn't we simply catch the error we get when blobs are missing in UpdateArtifact?16:20
juergbiif we successfully push all blobs16:20
tlater[m]We already do, but that might happen for other reasons too16:20
juergbibut at UpdateArtifact time they're missing, what other reason could there be?16:20
juergbi(besides some internal CAS server malfunction)16:21
tlater[m]Some internal CAS server malfunction :)16:21
juergbihaha, well, but unless that CAS server malfunction deletes blobs, the error message should be different16:21
tlater[m]I'm weary of giving misleading errors.16:21
tlater[m]It could always be some other process doing that16:22
juergbibut I guess it would just be FAILED_PRECONDITION which is a bit too generic16:22
tpollardWe could put the artifact size in the proto at creation time16:22
tpollardwhich is something I'd like for the artifact command too16:22
tlater[m]i suppose that's not tied to any security this time.16:22
juergbiyes, that might be a sensible addition anyway, I suppose16:22
tlater[m]So yeah, that could work16:22
* tlater[m] defers that to a later PR then16:22
juergbitlater[m]: or alternative, on error, call FindMissingBlobs. if some blobs are missing then, it's pretty much clear they were expired16:23
tlater[m]Yeah, that's a decent stopgap for now.16:23
*** lachlan has quit IRC16:34
*** tme5 has quit IRC16:39
*** lachlan has joined #buildstream16:47
gitlab-br-botjennis opened MR !1560 (jennis/bst_artifact_show->master: Introduce `bst artifact show`[) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/156016:48
*** lachlan has quit IRC17:08
*** jonathanmaw has quit IRC17:08
*** SotK has quit IRC18:37
*** SotK has joined #buildstream18:37
gitlab-br-botBenjaminSchubert opened (was WIP) MR !1537 (bschubert/register-sources-on-test->master: testing/sources: Automatically register plugin sources) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/153718:56
*** narispo has quit IRC22:57
*** narispo has joined #buildstream23:11
*** narispo has quit IRC23:13
*** narispo has joined #buildstream23:13

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