bazelbuild / bazelbuild/remote-apis
Tree Interface
- Dominant language
- Go
- Stars
- 445
- Forks
- 141
- PR merge metrics
- No merged PRs in 30d
Description
A number of material differences exist for Trees throughout the API:
Directories are uploaded individually as blobs.
Trees are fetched in a list streaming fashion from getTree
OutputDirectories are represented as digests to whole-message Trees
The digests for OutputDirectories cannot use getTree to retrieve large directories pre-parsed.
In all of these circumstances, resolving directory references throughout the tree requires computed keying of a digest, with a specific hash function, and integrity throughout (related #159)
With likely others.
For v3, we should provide a transport and storage definition for trees that resolves this bespoke treatment of trees for input/output, and meets all criteria for an efficient and tractable representations
Contributor guide
Research direction
Start by reading the tree behavior described in the issue and the related issue #159, then trace the getTree entry point and how input and output directories are represented. Done means a defined v3 transport and storage model that handles blob uploads, streaming tree retrieval, output-directory digests, large directories, computed digest keying, and integrity.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100