[SERVER-51706] Require OperationContext for egress commands Created: 16/Oct/20 Updated: 09/Feb/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Benjamin Caimano (Inactive) | Assignee: | Backlog - Service Architecture |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | ben-sa-triage | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Service Arch
|
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
We have the option to provide an OperationContext with a RemoteCommandRequest here. However, we do not require that OperationContext pointer be valid. We should start making progress towards requiring that OperationContext. If we do so, we can make use of operation deadlines and better trace the state of remote operations. Evaluating places where RemoteCommandRequest is used, they tend to lack an explicit OperationContext. However, I'm nearly certain most possess a Client on thread. This ticket may involve investigation and submitting child tickets to other teams. |
| Comments |
| Comment by Matt Diener (Inactive) [ 02/Feb/23 ] |
|
In general, I have been thinking of Operations as commands. Given this, we have a very clear lifetime story. We read some bytes from a socket, those bytes combine to a message, we create an operation context, we run a command from the request, we respond, we destroy the operation context. Maybe something slightly different for internal commands. Given this, I think things get really weird when we start trying to make things work with background tasks and primary only services. At the end of the day, the question is: "What does the OperationContext hold that is required for egress?" I think we're better off separating that. Otherwise, I think there's some sort of layering violation. |
| Comment by Lauren Lewis (Inactive) [ 18/Mar/22 ] |
|
We haven’t heard back from you for some time, so we're going to close this ticket. If this is still an issue for you, please provide additional information and we will reopen the ticket. |