cascache: Use local CAS for contains_files
Currently `CASCache.contains_files()` polls the remote CAS rather than
the local one. This leads to the function not doing what it says it
does, and also causes excessive polling of the remote CAS every time we
want to check whether an artifact is cached.
diff --git a/src/buildstream/_cas/cascache.py b/src/buildstream/_cas/cascache.py
index 74912c4..e3eed6d 100644
--- a/src/buildstream/_cas/cascache.py
+++ b/src/buildstream/_cas/cascache.py
@@ -175,12 +175,12 @@
# Returns: True if the files are in the cache, False otherwise
#
def contains_files(self, digests):
- cas = self.get_cas()
+ local_cas = self.get_local_cas()
- request = remote_execution_pb2.FindMissingBlobsRequest()
+ request = remote_execution_pb2.FetchMissingBlobsRequest()
request.blob_digests.extend(digests)
- response = cas.FindMissingBlobs(request)
+ response = local_cas.FetchMissingBlobs(request)
return len(response.missing_blob_digests) == 0
# contains_directory():