Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Substitute the realisations from the remote caches #4493

Open
thufschmitt opened this issue Jan 29, 2021 · 1 comment
Open

Substitute the realisations from the remote caches #4493

thufschmitt opened this issue Jan 29, 2021 · 1 comment
Assignees
Labels
ca-derivations Derivations with content addressed outputs

Comments

@thufschmitt
Copy link
Member

Follow-up of #4238 (and more precisely #4238 (comment))

Is your feature request related to a problem? Please describe.

When building a CA derivation drv0, the first thing we do (once we tried and failed substituting it) is to resolve it, which requires fetching/building all its inputs.
However, it might be that the remote cache knows about resolved(drv0), in which case we can substitute it, and all the inputs that we've downloaded are never used (except for the ones which are in the runtime closure ofc).
But we can only know that once we've resolved the derivation. And to resolve the derivation we need to know the output mappings for all its inputs, which currently requires fetching them.

Describe the solution you'd like

We should be able to ask the remote store for the path associated to a given derivation output without fetching that path.

(Note that to ensure consistency, we shouldn't register that mapping in the db, it would only be used during the resolution step)

@thufschmitt thufschmitt added improvement ca-derivations Derivations with content addressed outputs labels Jan 29, 2021
@thufschmitt thufschmitt self-assigned this Jan 29, 2021
@stale
Copy link

stale bot commented Jul 29, 2021

I marked this as stale due to inactivity. → More info

@stale stale bot added the stale label Jul 29, 2021
@stale stale bot removed the stale label Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ca-derivations Derivations with content addressed outputs
Projects
None yet
Development

No branches or pull requests

2 participants