*** samkirkham has joined #buildstream | 07:17 | |
*** ikerperez has joined #buildstream | 07:31 | |
*** rdale has joined #buildstream | 07:59 | |
*** tme5 has joined #buildstream | 08:44 | |
*** traveltissues has joined #buildstream | 09:00 | |
*** phildawson_ has joined #buildstream | 09:01 | |
*** jonathanmaw has joined #buildstream | 09:15 | |
*** paulsherwood has joined #buildstream | 09:21 | |
*** lachlan has joined #buildstream | 09:31 | |
*** lachlan has quit IRC | 09:43 | |
*** lachlan has joined #buildstream | 09:56 | |
*** lachlan has quit IRC | 10:07 | |
*** lachlan has joined #buildstream | 10:10 | |
*** lachlan has quit IRC | 10:15 | |
*** lachlan has joined #buildstream | 10: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 IRC | 10:49 | |
jennis | I think bst-artifact-server is borked | 10:54 |
jennis | for 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 push | 10:54 |
tpollard | lovely.... | 10:55 |
jennis | https://hastebin.com/utitemejem.md | 10:58 |
tpollard | I'll try to replicate | 11:01 |
tme5 | my MR CI just failed on analysis stage.. is that my fault? | 11:03 |
*** lachlan has joined #buildstream | 11:03 | |
tme5 | ERROR: Uploading artifacts to coordinator... error error=couldn't execute POST against https://gitlab.com/api/v4/jobs/277719507/artifacts?artifact_format=zip&artifact_type=archive | 11:03 |
tpollard | jennis: yep same error for me | 11:05 |
jennis | tme5, 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 indicator | 11:06 |
tpollard | the buildtrees integration tests build an autotools project and user the artifact server, so I'm not sure how this is happening | 11:06 |
jennis | They directly use `bst-artifact-server`...? | 11:07 |
jennis | (i'd imagine so, just checking though) | 11:07 |
*** lachlan has quit IRC | 11:08 | |
tpollard | it uses the casserver | 11:09 |
tlater[m] | jennis: They use create_artifact_server | 11:09 |
tlater[m] | Which is called by that command | 11: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 installed | 11:10 |
jennis | ok, well i'd have naively guessed that we made a change to create_artifact_server but not to `bst-artifact-server` | 11:10 |
jennis | I'll have a look | 11:10 |
tlater[m] | Oh, that's possible, but that would only change how the command line works :) | 11:12 |
*** lachlan has joined #buildstream | 11:12 | |
gitlab-br-bot | marge-bot123 merged MR !1541 (tmewett/artifact-help->master: Clarify bst artifact subcommand help text) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/1541 | 11:13 |
*** phoenix has joined #buildstream | 11:22 | |
*** lachlan has quit IRC | 11:49 | |
gitlab-br-bot | traveltissues opened issue #1110 (use `show_default` for Click.options) on buildstream https://gitlab.com/BuildStream/buildstream/issues/1110 | 11:55 |
*** qinusty has joined #buildstream | 12:03 | |
juergbi | jennis: buildbox-casd is in the PATH in bst-artifact-server's environment? | 12:12 |
juergbi | hm, I see the issue here as well, now, wlil look into it | 12:19 |
tpollard | I can't see anything that stands out as obviously at fault | 12:21 |
tpollard | but I'm guessing going directly into server_main bypasses some of the setup needed | 12:22 |
juergbi | oh, the utils._is_main_process() safe guard I added is now an issue in bst-artifact-server, of course | 12:36 |
juergbi | trivial to fix but should have caught this earlier :-/ | 12:36 |
tpollard | ah in casremote init? | 12:37 |
juergbi | no, in _get_local_cas() | 12:37 |
tpollard | right, and the artifactshare used in the test suite is not in the main process | 12:39 |
juergbi | indeed | 12:39 |
gitlab-br-bot | juergbi 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/1558 | 12:48 |
juergbi | jennis: ^^ sorry about that | 12:48 |
gitlab-br-bot | tlater 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/1558 | 12:49 |
juergbi | tlater[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 failure | 12:50 |
tlater[m] | More frequent if the cache is full. | 12:50 |
juergbi | only 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, right | 12:51 |
tlater[m] | Hrm... | 12:51 |
juergbi | so I don't expect it to be a big practical issue, although a better error message would be nice, of course | 12:51 |
juergbi | for the local cache we catch this case and provide a clear error message | 12:51 |
juergbi | for remote it's more difficult | 12:51 |
tlater[m] | I don't think we can really give a better error message in the local case either | 12:52 |
juergbi | we already do | 12:52 |
tlater[m] | Without keeping track of "these were the blobs we've recently received" | 12:52 |
tlater[m] | Because the requests are now independent | 12:52 |
tlater[m] | If we could give a better error message we could avoid the problem :) | 12:52 |
juergbi | for the local case we start buildbox-casd with --protect-session-blobs which prohibits expiry of blobs added/used after start of the bst session | 12:53 |
juergbi | but that's strictly local | 12:53 |
tlater[m] | Ah, that local case | 12:53 |
tlater[m] | Gotcha | 12:53 |
* tlater[m] was thinking of the non-split split | 12:53 | |
juergbi | ah, no, still an issue there | 12:54 |
tlater[m] | Right, I suppose I can make that the new behavior for the test case, and that'll be ok then | 12: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 that | 12:55 |
tpollard | jennis: I feel you can do similar with notify_fork_disabled for the command you're trying to add | 12:55 |
tlater[m] | ty juergbi! | 12:55 |
*** phoenix has quit IRC | 13:13 | |
*** lachlan has joined #buildstream | 13:20 | |
tme5 | my testing MR is ready for review https://gitlab.com/BuildStream/buildstream/merge_requests/1557 | 13:26 |
*** tpollard has quit IRC | 13:28 | |
jennis | ah, thanks for fixing juergbi | 13:28 |
*** tpollard has joined #buildstream | 13:28 | |
*** lachlan has quit IRC | 13:29 | |
*** lachlan has joined #buildstream | 13:33 | |
*** lachlan has quit IRC | 13:48 | |
gitlab-br-bot | marge-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/1558 | 13:48 |
*** lachlan has joined #buildstream | 13:49 | |
tme5 | gitlab CI instances seem to have lost internet connection lol | 14:22 |
*** lachlan has quit IRC | 14:23 | |
tlater[m] | Poor jennis just wants to get his MR tested | 14:33 |
jennis | It's cool | 14:34 |
jennis | I checked out an older version of buildstream, pushed the artifact, then back to my branch ;) | 14:34 |
jennis | oh, juergbi's fix has landed now anyway | 14:35 |
*** phoenix has joined #buildstream | 14:37 | |
*** lachlan has joined #buildstream | 14:38 | |
*** lachlan has quit IRC | 14:59 | |
*** lachlan has joined #buildstream | 15:05 | |
*** phoenix has quit IRC | 15:32 | |
jennis | juergbi, traveltissues, I've addressed all discussions on !1553 (loading artifact deps) | 15:39 |
gitlab-br-bot | MR !1553: Add the ability to load (build) deps from an artifact ref https://gitlab.com/BuildStream/buildstream/merge_requests/1553 | 15:39 |
traveltissues | i'll have a look | 15:42 |
gitlab-br-bot | traveltissues 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/1553 | 15:47 |
*** lachlan has quit IRC | 15:49 | |
*** lachlan has joined #buildstream | 15:51 | |
gitlab-br-bot | tmewett 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/1559 | 15:56 |
gitlab-br-bot | tlater closed issue #1067 (bst artifact/source checkout UI should be made consistent with workspace checkout) on buildstream https://gitlab.com/BuildStream/buildstream/issues/1067 | 16:08 |
*** traveltissues has quit IRC | 16:08 | |
*** traveltissues has joined #buildstream | 16:08 | |
*** traveltissues has quit IRC | 16:13 | |
*** lachlan has quit IRC | 16: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 #buildstream | 16:17 | |
tlater[m] | It would get around a lot of problems... | 16:17 |
juergbi | tlater[m]: hm, the issue is the cache size/quota on the server side, though, which the client doesn't know | 16:18 |
tlater[m] | Yes, but the server could refuse artifacts that are that large | 16:18 |
tlater[m] | We could then give better error messages | 16:18 |
juergbi | how/where exactly would you add that check? | 16:19 |
tlater[m] | That is a point | 16: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 |
juergbi | couldn't we simply catch the error we get when blobs are missing in UpdateArtifact? | 16:20 |
juergbi | if we successfully push all blobs | 16:20 |
tlater[m] | We already do, but that might happen for other reasons too | 16:20 |
juergbi | but 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 |
juergbi | haha, well, but unless that CAS server malfunction deletes blobs, the error message should be different | 16:21 |
tlater[m] | I'm weary of giving misleading errors. | 16:21 |
tlater[m] | It could always be some other process doing that | 16:22 |
juergbi | but I guess it would just be FAILED_PRECONDITION which is a bit too generic | 16:22 |
tpollard | We could put the artifact size in the proto at creation time | 16:22 |
tpollard | which is something I'd like for the artifact command too | 16:22 |
tlater[m] | i suppose that's not tied to any security this time. | 16:22 |
juergbi | yes, that might be a sensible addition anyway, I suppose | 16:22 |
tlater[m] | So yeah, that could work | 16:22 |
* tlater[m] defers that to a later PR then | 16:22 | |
juergbi | tlater[m]: or alternative, on error, call FindMissingBlobs. if some blobs are missing then, it's pretty much clear they were expired | 16:23 |
tlater[m] | Yeah, that's a decent stopgap for now. | 16:23 |
*** lachlan has quit IRC | 16:34 | |
*** tme5 has quit IRC | 16:39 | |
*** lachlan has joined #buildstream | 16:47 | |
gitlab-br-bot | jennis opened MR !1560 (jennis/bst_artifact_show->master: Introduce `bst artifact show`[) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/1560 | 16:48 |
*** lachlan has quit IRC | 17:08 | |
*** jonathanmaw has quit IRC | 17:08 | |
*** SotK has quit IRC | 18:37 | |
*** SotK has joined #buildstream | 18:37 | |
gitlab-br-bot | BenjaminSchubert 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/1537 | 18:56 |
*** narispo has quit IRC | 22:57 | |
*** narispo has joined #buildstream | 23:11 | |
*** narispo has quit IRC | 23:13 | |
*** narispo has joined #buildstream | 23:13 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!