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 ActionResultis in cache. -
Continue to source pushing and ExecuteRequestforging if not.
Edited by Martin Blanchard