buildbarn / bb-storage

Storage daemon, capable of storing data for the Remote Execution protocol
Apache License 2.0
137 stars 91 forks source link

WIP: RoutingBlobAccess #196

Open minor-fixes opened 6 months ago

minor-fixes commented 6 months ago

This change adds a config option for RoutingBlobAccess, which is intended to hold all possible ways to rewrite instance names.

While it is possible to affect instance name by (ab)using DemultiplexingBlobAccess, there are some sharp edges (e.g. using it to add an instance name may not work as expected, as not only must the instance name be valid on the inner blobstore, but it must be valid once returned upwards as well). RoutingBlobAccess will attempt to fix that by offering easier-to-use semantics around instance name rewriting.

Tested: builds only, never ran


This PR's current purpose is to:

EdSchouten commented 6 months ago

using it to add an instance name may not work as expected, as not only must the instance name be valid on the inner blobstore, but it must be valid once returned upwards as well

This I don't understand. Are you saying that this currently does not hold? Namely, that BlobAccess.FindMissing() returns digests that can't be translated back to the original instance name? If that's the case, then we should figure out why that is happening.