Draft: Only upload data not already in storage in BatchUpdateBlobs
Description
When clients upload data via Bytestream.Write
and BatchUpdateBlobs
, we have the assumption that they have already called FindMissingBlobs
before trying to upload. However this isn't a requirement as per the API, and our own buildbox-workers/buildbox-run-*
just upload the data directly. We handle this gracefully for Write
, but not for BatchUpdateBlobs
.
This PR addresses this by calling FindMissingBlobs
internally on the storage, and only writing the missing blobs to the storage.