diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-08-30 12:45:44 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-08-30 13:18:18 +0200 |
commit | 9bc887e80bd1845f5ca4277518512149345d2422 (patch) | |
tree | 4adb21e81b39a468672806ff027e8c1e294c986c /test/buildtool/file_system/git_tree.test.cpp | |
parent | 66934148c25feeeea9d14e53880805faa8f3c6c8 (diff) | |
download | justbuild-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 'test/buildtool/file_system/git_tree.test.cpp')
0 files changed, 0 insertions, 0 deletions