-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Service Arch 2022-11-14, Service Arch 2022-11-28
Due to the use of the executor in AsyncTry as part of it's outer async-loop, it's possible for sendHedgedCommand to return executor shutdown errors without rewriting them into RemoteCommandExecutionErrors. If targeting fails, the same issue can occur, because that failure occurs in the outer loop as well (i.e. evades the error-rewriting logic in the calls to async_rpc::sendCommand).
In this ticket, add tests for:
- async_rpc::sendHedgedCommand's call to Targeter::resolve returning an error
- executor shutdown while async_rpc::sendHedgedCommand has not yet produced a result
Ensure that in each case, the sendHedgedCommand API returns a RemoteCommandExecutionError with the appropriate underlying error wrapped.