TraceMachina / TraceMachina/nativelink

Allow worker to accept a filesystem store and update basic_cas

Open
#671 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.6k
Forks
244
Avg merge
1d 16h
Merged PRs (30d)
54

Description

  1. Change the logic in the worker to allow it to accept a filesystem store as well then change the basic_cas.json accordingly.

The problem is that in the basic_cas.json example we only use a fast store and the slow store is sent to a noop (/dev/null store). Because this change made fast_slow store always bypass the fast store when checking if an item exists it ends up always getting a 404 not found error from the noop store.

We require a fast_slow store for a store that is wired up to a worker, since production systems would have the CAS and workers live in separate instances (at least separate processes), we simplified the code a lot by recycling the fast_slow store logic to ensure things are placed into a filesystem store part of the fast store.

Extension of #665

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the worker's store configuration logic and basic_cas.json, then compare the requested behavior with extension #665. Confirm the worker accepts a filesystem store and update basic_cas.json so the fast_slow setup no longer routes existence checks to the noop store; done when the example represents the intended filesystem-backed arrangement.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.