aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/actions
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-07-07 09:32:53 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 13:37:33 -0400
commit2936047ae407fdba9ac432694ae8b72ebee4f488 (patch)
tree2ba946ce0881dafa42f7bbe2257a5419fa23b74f /src/main/java/com/google/devtools/build/lib/analysis/actions
parentea6ca5a4b7449688675ddd1fab690e5f89eb4a5a (diff)
Refactor RemoteSpawn{Strategy,Runner}
- Make the RemoteSpawnRunner match RemoteSpawnStrategy functionality, including local fallback, remote caching, and execution. This is done so we can actually finish the migration to the SpawnRunner API, for which I've had a pending change for several months now. - Never throw StatusRuntimeException from the GrpcRemoteCache or the GrpcExecutor. We almost never do, since the Retrier catches them implcitly, so a number of catch blocks were already unreachable. Carefully document the cases where we still need to handle it. - RemoteSpawnStrategy / RemoteSpawnRunner no longer catch gRPC-specific exceptions; they should be able to handle any reasonable remote caching / execution implementation (except we don't have a common interface for GrpcRemoteExecutor yet), with no dependency on gRPC as such. Note that the RemoteSpawnStrategy class will actually go away after the SpawnRunner migration (eventually). - However, ensure that we _are_ actually throwing CacheNotFoundException; the retrier implicitly catches that also, so we need to manually unwrap from RetryException. - Don't call into the EventHandler from RemoteSpawnStrategy; instead, throw an exception with the message, and let the higher levels handle the reporting (we only allow this for exception + local fallback, for which there's no good reporting API right now). PiperOrigin-RevId: 161195666
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/actions')
0 files changed, 0 insertions, 0 deletions