summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbst-marge-bot <marge-bot@buildstream.build>2019-08-29 12:15:19 +0000
committerbst-marge-bot <marge-bot@buildstream.build>2019-08-29 12:15:19 +0000
commitb794f058c0ff2709ae6a382fff5744a98da97c76 (patch)
tree3641846f2981bd99ed138a69ebbe7f34e3d8f856
parentfe3d571788f927eef1f705b00f6bc69f1d908c31 (diff)
parentbbf949a1bf92d4efc8d3fb6f1b2ad2c1e02c6103 (diff)
downloadbuildstream-b794f058c0ff2709ae6a382fff5744a98da97c76.tar.gz
Merge branch 'juerg/cas' into 'master'
Remove code duplication in casremote.py See merge request BuildStream/buildstream!1567
-rw-r--r--src/buildstream/_cas/cascache.py4
-rw-r--r--src/buildstream/_cas/casremote.py19
2 files changed, 3 insertions, 20 deletions
diff --git a/src/buildstream/_cas/cascache.py b/src/buildstream/_cas/cascache.py
index e5fc530a7..03d7e5dda 100644
--- a/src/buildstream/_cas/cascache.py
+++ b/src/buildstream/_cas/cascache.py
@@ -823,7 +823,9 @@ class CASCache():
# already in local repository
return objpath
- remote._fetch_blob(digest)
+ batch = _CASBatchRead(remote)
+ batch.add(digest)
+ batch.send()
return objpath
diff --git a/src/buildstream/_cas/casremote.py b/src/buildstream/_cas/casremote.py
index 183429a77..23240c6f7 100644
--- a/src/buildstream/_cas/casremote.py
+++ b/src/buildstream/_cas/casremote.py
@@ -247,25 +247,6 @@ class CASRemote():
return self.cascache.add_object(buffer=message_buffer, instance_name=self.local_cas_instance_name)
- ################################################
- # Local Private Methods #
- ################################################
- def _fetch_blob(self, digest):
- local_cas = self.cascache._get_local_cas()
- request = local_cas_pb2.FetchMissingBlobsRequest()
- request.instance_name = self.local_cas_instance_name
- request_digest = request.blob_digests.add()
- request_digest.CopyFrom(digest)
- response = local_cas.FetchMissingBlobs(request)
- for blob_response in response.responses:
- if blob_response.status.code == code_pb2.NOT_FOUND:
- raise BlobNotFound(response.digest.hash, "Failed to download blob {}: {}".format(
- blob_response.digest.hash, blob_response.status.code))
-
- if blob_response.status.code != code_pb2.OK:
- raise CASRemoteError("Failed to download blob {}: {}".format(
- blob_response.digest.hash, blob_response.status.code))
-
# Represents a batch of blobs queued for fetching.
#