-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
None
-
Fully Compatible
-
Service Arch 2023-02-06, Service Arch 2023-02-20, Service Arch 2023-03-06
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
A follow-on ticket for SERVER-71764 to ensure both async_rpc and NetworkInterface have identical cancellation semantics for hedged operations. In particular, we should make sure:
- The RPC library appends an OperationKey (GUID) to all operations it sends. When those operations are canceled, if networking has begun for that operation (i.e. any data may have been sent), the RPC unconditionally sends fire-and-forget _killOperations for that OperationKey to the same remote node.
- The async_rpc API inspects the NetworkInterface operation response and see if it succeeded or successfully cancelled; if it succeeded, the async_rpc layer needs to send _killOperations itself. Otherwise,
SERVER-71764guarantees that NetworkInterface always send the required _killOperations.
- related to
-
SERVER-71764 Implement cancellation contract for async_rpc operations
-
- Closed
-