broad-processor-92400
05/23/2023, 2:32 AMwitty-crayon-22786
05/23/2023, 3:33 AMTree protobuf (which we have some code to serialize/deserialize already).
a Tree is an entire Directory, recursively: it contains a root, and then all of the reachable `Directory`s. files are still digests, referenced from the directorieswitty-crayon-22786
05/23/2023, 3:33 AMwitty-crayon-22786
05/23/2023, 3:34 AMbroad-processor-92400
05/23/2023, 3:36 AMa/ then a/b/ then a/b/c/ to finally get a/b/c/file1.txt, one could get the whole tree, and then straight away a/b/c/file.txt ?witty-crayon-22786
05/23/2023, 3:36 AMbroad-processor-92400
05/23/2023, 3:40 AMwitty-crayon-22786
05/23/2023, 3:44 AMbroad-processor-92400
05/23/2023, 3:58 AMfast-nail-55400
05/23/2023, 10:45 AMfast-nail-55400
05/23/2023, 10:46 AMfast-nail-55400
05/23/2023, 10:48 AMfast-nail-55400
05/23/2023, 10:49 AMbroad-processor-92400
05/23/2023, 10:49 AMfast-nail-55400
05/23/2023, 10:50 AMfast-nail-55400
05/23/2023, 10:51 AMfast-nail-55400
05/23/2023, 10:51 AMfast-nail-55400
05/23/2023, 10:51 AMbroad-processor-92400
05/23/2023, 10:52 AMGET {digest} and PUT {digest} , so there's no way to meaningfully benefit from "please get digest1, digest2, digest3 all togther" other than... running 3 requests GET {digest1} , GET {digest2} , GET {digest3}, in parallel at least, but pants can already do that.fast-nail-55400
05/23/2023, 10:53 AMfast-nail-55400
05/23/2023, 10:53 AMfast-nail-55400
05/23/2023, 10:54 AMfast-nail-55400
05/23/2023, 10:55 AMbroad-processor-92400
05/23/2023, 11:04 AMbroad-processor-92400
05/23/2023, 11:06 AM(and indeed exists is better phrased as "FIND_MISSING_BLOBS digest1, digest2, digest3, ...")This is likely also something that doesn't generalise well for non-REAPI caches, e.g. often one might have only
HEAD {digest} without batching; at least cheaper then a full GET or PUT though?