average-vr-56795
08/18/2021, 3:44 PMprocess_executor
- --remote-cache-mode={skip,prefer,speculate,require}
but at the moment remote_cache::CommandRunner
is hard-coded to do speculation... How would folks feel about:
1. Implementing a SpeculatingCommandRunner
which takes two `CommandRunner`s and just races them, leaving remote_cache::CommandRunner
to only worry about interacting with the remote cache itself
2. Introducing this flag to process_executor
?
(I actually only care about the skip
, and require
flag values, but I figure completing the matrix is worthwhile while doing so)witty-crayon-22786
08/18/2021, 4:07 PMwitty-crayon-22786
08/18/2021, 4:08 PMwitty-crayon-22786
08/18/2021, 4:08 PMprefer
or require
actually meanaverage-vr-56795
08/18/2021, 4:29 PM…oh. but how would you write to the cache with a SpeculatingCommandRunner? it needs the successful result afterwards.Good point - maybe that needs its own write decorator, rather than to be in the same
CommandRunner
as the readaverage-vr-56795
08/18/2021, 4:29 PMprefer
means "check cache before trying to run at all"
require
means "require there's a cache hit (error if not)" (which can be useful for testing)witty-crayon-22786
08/18/2021, 4:32 PMwitty-crayon-22786
08/18/2021, 5:07 PMaverage-vr-56795
08/18/2021, 5:22 PMwitty-crayon-22786
08/18/2021, 5:23 PMwitty-crayon-22786
08/18/2021, 5:24 PMprefer
modewitty-crayon-22786
08/18/2021, 5:24 PMaverage-vr-56795
08/18/2021, 5:24 PMwitty-crayon-22786
08/18/2021, 5:27 PMwitty-crayon-22786
08/18/2021, 5:27 PMaverage-vr-56795
08/18/2021, 5:28 PMwitty-crayon-22786
08/18/2021, 5:29 PMaverage-vr-56795
08/18/2021, 5:29 PMaverage-vr-56795
08/18/2021, 5:29 PMwitty-crayon-22786
08/18/2021, 5:36 PMwitty-crayon-22786
08/18/2021, 5:36 PMfast-nail-55400
08/18/2021, 5:56 PMmaybe that needs its own write decorator, rather than to be in the sameor just a write-onlyas the readCommandRunner
CommandRunner
— that sounds like a good refactor to do regardless of what else we do, i.e. separation of read and write concernsfast-nail-55400
08/18/2021, 5:58 PMalso, fwiw, i think that remote execution currently has its own embedded remote cache lookup, rather than using the remote cache CommandRunner as a wrapper.correct, the remote cache and remote execution clients each implement the cache lookup (they call into the same underlying function
check_action_cache
)fast-nail-55400
08/18/2021, 5:59 PMCommandRunner
impl, but for the fact that Past Tom probably didn’t want to start messing with the remote execution client too much when writing the remote cache clientaverage-vr-56795
08/18/2021, 7:11 PM