-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
We currently have "deep" and "shallow" realisations (which per #11895 should be called "traces").
The "deep" ones are keyed on unresolved derivations (derivations that have output deriving paths as inputs, i.e. they explicitly depend on the outputs of other derivations, whose paths/content may be yet-unknown).
The "shallow" ones are just keyed on resolved derivations (derivations that only have constant deriving paths (i.e. plain old store paths) as inputs.
Shallow traces are much better, for the reasons described in https://cloud.ins.jku.at/index.php/s/txgoHps6FyNpiDk. For more stores, and store-to-store communication, we only want to use shallow traces.
On the local store should be using the deep ones, and simply because it supports are current method of garbage collecting realisations. That method isn't even that good, but I know no better one at this time, and don't want to block CA derivations further on coming up with a better one.
To do this without regression on client-side efficiency downloading from the cache, we will first have to fix #11928