[SERVER-45432] Basic Support for operation hedging in NetworkInterfaceTL Created: 09/Jan/20  Updated: 29/Oct/23  Resolved: 27/Feb/20

Status: Closed
Project: Core Server
Component/s: Networking
Affects Version/s: None
Fix Version/s: 4.3.4

Type: New Feature Priority: Major - P3
Reporter: Mira Carey Assignee: Misha Tyulenev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by SERVER-45436 add a network interface integration t... Closed
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2020-02-10, Sharding 2020-01-27, Service Arch 2020-02-24, Service Arch 2020-03-09
Participants:

 Description   

Support operation hedging in NetworkInterfaceTL.

Operation hedging should allow a request against a network interface to dispatch multiple overlapping requests to distinct nodes as part of the same logical operation. The first node to successfully respond, or to fail in a non-retriable way, should fulfill the operation and return the result to the caller.

This is made up of a few parts:

  • Change the on heap representation of an in-flight operation (now encoded in the CommandState) to be capable of managing multiple in flight operations. My notion for a name is rename it ParallelCommandState, and have it own multiple CommandStates internally
  • Change startCommand, in the presence of hedge options, to perform that operation hedging

The "basic" part of this ticket is that we can omit hooking into the functionality in PM-1372. For basic support it is sufficient to let those operations continue in the background



 Comments   
Comment by Githook User [ 27/Feb/20 ]

Author:

{'username': 'mikety', 'name': 'Misha Tyulenev', 'email': 'misha@mongodb.com'}

Message: SERVER-45432 Basic support for operation hedging
Branch: master
https://github.com/mongodb/mongo/commit/9d856dea99a4be76783fe6de82012af62f8132f1

Generated at Thu Feb 08 05:08:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.