Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-80993

(SA) Ensure all process-internal clients are tagged with the correct service.

    • Type: Icon: Task Task
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Service Arch
    • Service Arch 2023-10-16, Service Arch 2023-10-30

      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.

            Assignee:
            george.wangensteen@mongodb.com George Wangensteen
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: