Remote-execution client flow optimisation (technical debt)
Background
Initial remote-execution implementation (!626 (merged)) does not query the ActionCache
itself but systematically forge and send a new ExecuteRequest
(including full source tree upload), relying on the server to hit the cache by setting skip_cache_lookup
to False
.
The expected client execution flow is documented in the Overview section of the REAPI design document.
Hit the ActionCache
directly from the client would, first, be faster, and second, allow us to not engage a costly source push if the ActionResult
is already cached.
Task description
Implementation should include:
-
Call GetActionResult()
as a first server request. -
Jump to artifact pulling if the ActionResult
is in cache. -
Continue to source pushing and ExecuteRequest
forging if not.
Edited by Martin Blanchard