IRC logs for #buildstream for Wednesday, 2023-04-12

nanonymeJürg Billeter: I reworded the case to be about supporting C++17. We got grpc build with C++14 so the original issue is kind of invalid.18:24
nanonyme(as the original assumption was new grpc could not be used with buildbox at all, this was incorrect)18:25
nanonymeJürg Billeter: actually I was supposed to ask you: how does buildbox-fuse talk to buildbox-casd? Or does it? If it does, does it use grpc?19:14
JrgBilleter[m]<nanonyme> "Jürg Billeter: actually I was..." <- As it's normally used right now, buildbox-fuse doesn't talk to buildbox-casd at all. buildbox-fuse has support for downloading from a CAS server (which could be buildbox-casd or any remote CAS server), either on startup or on demand, however, that's not used when buildbox-fuse is spawned by buildbox-casd.19:50
nanonymeI see. So how does the staging mechanism actually work?19:51
nanonymeI assume there are no actual copies, it's too fast for that19:52
JrgBilleter[m]buildbox-casd passed the path to its storage directory to buildbox-fuse19:52
JrgBilleter[m]I.e., they use the same directory layout. buildbox-casd ensures that all objects are available before starting buildbox-fuse19:53
JrgBilleter[m]s/passed/passes/19:53
nanonymeOk. So it's really just more or less direct file access with no IPC or whatever.19:56
JrgBilleter[m]Yes, the main overhead comes from the FUSE interface itself. Zero-copy is used but there is still some overhead, e.g., context switching. buildbox-fuse also has to read the Directory protobuf messages but that overhead should typically be fairly small.20:02
JrgBilleter[m]Capturing (at the end) is handled by buildbox-casd and involves checksumming and copying, optimized away when unmodified files are captured.20:03

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!