summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_engine/executor/executor.hpp
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-08-30 12:45:44 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-08-30 13:18:18 +0200
commit9bc887e80bd1845f5ca4277518512149345d2422 (patch)
tree4adb21e81b39a468672806ff027e8c1e294c986c /src/buildtool/execution_engine/executor/executor.hpp
parent66934148c25feeeea9d14e53880805faa8f3c6c8 (diff)
downloadjustbuild-9bc887e80bd1845f5ca4277518512149345d2422.tar.gz
Retry on exceeding deadline obtaining the status of a running execution
Remote execution of actions is handled via long-running operations. Here we have to be careful with the involved status codes: there is the status code of the operation and the response contains a faild that also happens to be a status code. The protocol states Errors discovered during creation of the `Operation` will be reported as gRPC Status errors, while errors that occurred while running the action will be reported in the `status` field of the `ExecuteResponse` So we have to distinguish between two kinds of DEADLINE_EXCEEDED. - If reported by the rpc, it means, we failed to obtain the status of the ongoing action in a reasonable amount of time; here we can do nothing but retry. - If we obtain an answer and that answer has state DEADLINE_EXCEEDED this means "The execution timed out."; hence we must not retry and report the result properly to the user.
Diffstat (limited to 'src/buildtool/execution_engine/executor/executor.hpp')
0 files changed, 0 insertions, 0 deletions