bazelbuild / bazelbuild/remote-apis

Tree Interface

Open
#170 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.