Ola Rozenfeld
Ola Rozenfeld
Introducing the diskcache package, CAS-only (Action Cache to be added in part 2). Split out from https://github.com/bazelbuild/remote-apis-sdks/pull/529 which has the whole thing, for reference.
Implements an optional local disk cache (LRU, CAS + Action Cache) used for remote action outputs. Goma has this feature, and many of our Reclient customers requested it since (usually...
This refers to the case where Execute returns a NOT_FOUND because of a cache miss. This is not supposed to happen often (in fact, ongoing RBE work is under way...
`TestDownloadActionOutputsConcurrencyUsingBatch` consistently fails at `master` on my Mac: ``` Executing tests from //go/pkg/client:client_test ----------------------------------------------------------------------------- --- FAIL: TestDownloadActionOutputsConcurrency (0.00s) --- FAIL: TestDownloadActionOutputsConcurrency/TestDownloadActionOutputsConcurrencyUsingBatch:true,UnifiedDownloads:true (20.66s) cas_test.go:1633: 75 requests were made to BatchReadBlobs, wanted
## Problem [Node properties](https://github.com/bazelbuild/remote-apis/blob/main/build/bazel/remote/execution/v2/remote_execution.proto#L852) are a (relatively recent) part of the RE-API which is relied upon by Bazel's persistent remote workers feature: https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTree.java#L398 Bazel uses this to "mark" some files...
When the uploads/downloads are unified, we don't really support cancellations -- the context may be canceled and the caller immediately returns, but the upload/download still happens in the background, consuming...
When we retry a failed Write call, we should respect the committed_bytes returned by the server and not redo everything from scratch, saving time and bandwidth.
Currently, we translate an input of "a/b/../foo" to a tree containing only a/foo. Ideally, it would be nice to translate it to a tree which also includes the a/b directory,...