Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • coverity
  • master
  • sminskyprimu/blake3
  • sotk/features/lease-audit-table
  • sotk/logstream-testing
  • zchen723/skip-scheduler-metrics
  • 0.0.10
  • 0.0.11
  • 0.0.12
  • 0.0.13
  • 0.0.14
  • 0.0.16
  • 0.0.17
  • 0.0.19
  • 0.0.2
  • 0.0.20
  • 0.0.21
  • 0.0.23
  • 0.0.25
  • 0.0.26
  • 0.0.27
  • 0.0.28
  • 0.0.29
  • 0.0.3
  • 0.0.30
  • 0.0.31
  • 0.0.32
  • 0.0.33
  • 0.0.34
  • 0.0.35
  • 0.0.36
  • 0.0.37
  • 0.0.38
  • 0.0.39
  • 0.0.4
  • 0.0.40
  • 0.0.41
  • 0.0.42
  • 0.0.43
  • 0.0.44
  • 0.0.45
  • 0.0.46
  • 0.0.47
  • 0.0.48
  • 0.0.49
  • 0.0.5
  • 0.0.50
  • 0.0.51
  • 0.0.52
  • 0.0.53
  • 0.0.54
  • 0.0.55
  • 0.0.56
  • 0.0.57
  • 0.0.58
  • 0.0.59
  • 0.0.6
  • 0.0.60
  • 0.0.61
  • 0.0.62
  • 0.0.63
  • 0.0.64
  • 0.0.65
  • 0.0.66
  • 0.0.67
  • 0.0.68
  • 0.0.69
  • 0.0.7
  • 0.0.70
  • 0.0.71
  • 0.0.72
  • 0.0.73
  • 0.0.74
  • 0.0.75
  • 0.0.76
  • 0.0.78
  • 0.0.79
  • 0.0.8
  • 0.0.80
  • 0.0.81
  • 0.0.82
  • 0.0.83
  • 0.0.84
  • 0.0.85
  • 0.0.86
  • 0.0.87
  • 0.0.88
  • 0.0.89
  • 0.0.9
  • 0.0.90
  • 0.0.91
  • 0.0.92
  • 0.0.93
  • 0.0.94
  • 0.0.95
  • 0.0.96
  • 0.0.97
  • 0.0.98
  • 0.1.0
  • 0.1.1
  • 0.1.10
  • 0.1.11
  • 0.1.12
  • 0.1.13
  • 0.1.14
  • 0.1.15
106 results

Target

Select target project
  • edbaunton/buildgrid
  • BuildGrid/buildgrid
  • bloomberg/buildgrid
  • devcurmudgeon/buildgrid
  • mhadjimichael/buildgrid
  • jmacarthur/buildgrid
  • rkothur/buildgrid
  • valentindavid/buildgrid
  • jjardon/buildgrid
  • RichKen/buildgrid
  • jbonney/buildgrid
  • onsha_alexander/buildgrid
  • santigl/buildgrid
  • mostynb/buildgrid
  • hoffbrinkle/buildgrid
  • Malinskiy/buildgrid
  • coldtom/buildgrid
  • azeemb_a/buildgrid
  • pointswaves/buildgrid
  • BenjaminSchubert/buildgrid
  • michaellee8/buildgrid
  • anil-anil/buildgrid
  • seanborg/buildgrid
  • jdelong12/buildgrid
  • jclay/buildgrid
  • bweston92/buildgrid
  • zchen723/buildgrid
  • cpratt34/buildgrid
  • armbiant/apache-buildgrid
  • armbiant/android-buildgrid
  • itsme300/buildgrid
  • sbairoliya/buildgrid
32 results
Select Git revision
  • coverity
  • master
  • sminskyprimu/blake3
  • sotk/features/lease-audit-table
  • sotk/logstream-testing
  • zchen723/skip-scheduler-metrics
  • 0.0.10
  • 0.0.11
  • 0.0.12
  • 0.0.13
  • 0.0.14
  • 0.0.16
  • 0.0.17
  • 0.0.19
  • 0.0.2
  • 0.0.20
  • 0.0.21
  • 0.0.23
  • 0.0.25
  • 0.0.26
  • 0.0.27
  • 0.0.28
  • 0.0.29
  • 0.0.3
  • 0.0.30
  • 0.0.31
  • 0.0.32
  • 0.0.33
  • 0.0.34
  • 0.0.35
  • 0.0.36
  • 0.0.37
  • 0.0.38
  • 0.0.39
  • 0.0.4
  • 0.0.40
  • 0.0.41
  • 0.0.42
  • 0.0.43
  • 0.0.44
  • 0.0.45
  • 0.0.46
  • 0.0.47
  • 0.0.48
  • 0.0.49
  • 0.0.5
  • 0.0.50
  • 0.0.51
  • 0.0.52
  • 0.0.53
  • 0.0.54
  • 0.0.55
  • 0.0.56
  • 0.0.57
  • 0.0.58
  • 0.0.59
  • 0.0.6
  • 0.0.60
  • 0.0.61
  • 0.0.62
  • 0.0.63
  • 0.0.64
  • 0.0.65
  • 0.0.66
  • 0.0.67
  • 0.0.68
  • 0.0.69
  • 0.0.7
  • 0.0.70
  • 0.0.71
  • 0.0.72
  • 0.0.73
  • 0.0.74
  • 0.0.75
  • 0.0.76
  • 0.0.78
  • 0.0.79
  • 0.0.8
  • 0.0.80
  • 0.0.81
  • 0.0.82
  • 0.0.83
  • 0.0.84
  • 0.0.85
  • 0.0.86
  • 0.0.87
  • 0.0.88
  • 0.0.89
  • 0.0.9
  • 0.0.90
  • 0.0.91
  • 0.0.92
  • 0.0.93
  • 0.0.94
  • 0.0.95
  • 0.0.96
  • 0.0.97
  • 0.0.98
  • 0.1.0
  • 0.1.1
  • 0.1.10
  • 0.1.11
  • 0.1.12
  • 0.1.13
  • 0.1.14
  • 0.1.15
106 results
Show changes
Commits on Source (3)
server:
port: 50052
insecure-mode: true
tls-server-key: null
tls-server-cert: null
tls-client-certs: null
description: |
Just a CAS.
instances:
- name: main
description: |
The main server
storages:
- !disk-storage &main-storage
path: ~/cas/
services:
- !cas
storage: *main-storage
- !bytestream
storage: *main-storage
server:
port: 50051
insecure-mode: true
tls-server-key: null
tls-server-cert: null
tls-client-certs: null
insecure-mode: true
description: |
A single default instance
......
server:
port: 50051
insecure-mode: true
tls-server-key: null
tls-server-cert: null
tls-client-certs: null
description: |
A single default instance with remote storage.
instances:
- name: main
description: |
The main server
storages:
- !remote-storage &main-storage
url: "http://localhost:50052"
credentials:
tls-client-key: null
tls-client-cert: null
tls-server-cert: null
services:
- !action-cache &main-action
storage: *main-storage
max_cached_refs: 256
allow_updates: true
- !execution
storage: *main-storage
action_cache: *main-action
- !cas
storage: *main-storage
- !bytestream
storage: *main-storage
......@@ -89,15 +89,15 @@ class ByteStreamService(bytestream_pb2_grpc.ByteStreamServicer):
# TODO: Decide on default instance name
if path[0] == "blobs":
if len(path) < 3 or not path[2].isdigit():
raise InvalidArgumentError("Invalid resource name: {}".format(context.resource_name))
raise InvalidArgumentError("Invalid resource name: {}".format(request.resource_name))
instance_name = ""
elif path[1] == "blobs":
if len(path) < 4 or not path[3].isdigit():
raise InvalidArgumentError("Invalid resource name: {}".format(context.resource_name))
raise InvalidArgumentError("Invalid resource name: {}".format(request.resource_name))
else:
raise InvalidArgumentError("Invalid resource name: {}".format(context.resource_name))
raise InvalidArgumentError("Invalid resource name: {}".format(request.resource_name))
instance = self._get_instance(instance_name)
yield from instance.read(path,
......@@ -134,15 +134,15 @@ class ByteStreamService(bytestream_pb2_grpc.ByteStreamServicer):
# TODO: Sort out no instance name
if path[0] == "uploads":
if len(path) < 5 or path[2] != "blobs" or not path[4].isdigit():
raise InvalidArgumentError("Invalid resource name: {}".format(context.resource_name))
raise InvalidArgumentError("Invalid resource name: {}".format(first_request.resource_name))
instance_name = ""
elif path[1] == "uploads":
if len(path) < 6 or path[3] != "blobs" or not path[5].isdigit():
raise InvalidArgumentError("Invalid resource name: {}".format(context.resource_name))
raise InvalidArgumentError("Invalid resource name: {}".format(first_request.resource_name))
else:
raise InvalidArgumentError("Invalid resource name: {}".format(context.resource_name))
raise InvalidArgumentError("Invalid resource name: {}".format(first_request.resource_name))
instance = self._get_instance(instance_name)
return instance.write(requests)
......
......@@ -23,6 +23,8 @@ Forwwards storage requests to a remote storage.
import io
import logging
import grpc
from buildgrid.utils import gen_fetch_blob, gen_write_request_blob
from buildgrid._protos.google.bytestream import bytestream_pb2_grpc
from buildgrid._protos.build.bazel.remote.execution.v2 import remote_execution_pb2, remote_execution_pb2_grpc
......@@ -44,8 +46,10 @@ class RemoteStorage(StorageABC):
return False
def get_blob(self, digest):
try:
fetched_data = io.BytesIO()
length = 0
for data in gen_fetch_blob(self._stub_bs, digest, self._instance_name):
length += fetched_data.write(data)
......@@ -57,6 +61,15 @@ class RemoteStorage(StorageABC):
else:
return None
except grpc.RpcError as e:
if e.code() == grpc.StatusCode.NOT_FOUND:
pass
else:
self.logger.error(e.details())
raise
return None
def begin_write(self, digest):
return io.BytesIO(digest.SerializeToString())
......