[SERVER-80993] (SA) Ensure all process-internal clients are tagged with the correct service. Created: 12/Sep/23  Updated: 30/Oct/23  Resolved: 30/Oct/23

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

Type: Task Priority: Major - P3
Reporter: George Wangensteen Assignee: George Wangensteen
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-82227 Address no-argument getService calls ... Backlog
duplicates SERVER-82225 Change no-argument calls to ServiceCo... Closed
duplicates SERVER-82226 Change no-argument calls to ServiceCo... Closed
Related
is related to SERVER-81830 Create Clients with Service, not Serv... Closed
is related to SERVER-81921 Create ThreadClients with Service, no... Closed
is related to SERVER-82100 Make Client::initThread callers expli... Closed
Assigned Teams:
Service Arch
Sprint: Service Arch 2023-10-16, Service Arch 2023-10-30
Participants:

 Description   

When a client of the embedded-router-server originates out-of-process (i.e. from the network), we can tag it with the service it is using (router vs. shard) based on the port it contacted us on. However, we also create several Clients in-process, which manage a logical stream of work as background jobs (i.e. a client whose job it is to kill cursors whose timeout has expired).

Each of these clients will need to be labeled with the service that they are running under in order to ensure that operations they initiate are correctly dispatched, report metrics correctly, and work with a service-aware logging system.
Some investigation may be required for edge-case clients, but as a rule of thumb:

  • Process-internal Clients that currently run only in 7.0-mongos should have the router-role
  • Process-internal Clients that currently run only in 7.0-mongod should have the shard-role
  • Process-internal Clients that currently run in both binaries on 7.0 will require some case-by-case judgement and code review from relevant teams, but we should probably bias towards including them in the shard role, because the router services generally exist "on top of" the shard ones which are more fundamental.

Generated at Thu Feb 08 06:45:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.