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

Add a new `Session` type for egress gRPC streams

    • Type: Icon: New Feature New Feature
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: Internal Code
    • Labels:
      None
    • Service Arch
    • Fully Compatible
    • Service Arch 2023-05-15, Service Arch 2023-05-29, Service Arch 2023-06-12, Service Arch 2023-06-26

      This extends the Session abstraction to wrap a gRPC Stub. EgressSession creates a bidirectional stream to the server (ClientReaderWriter) during its construction:

      • If an authentication token is provided, the stream will be directed towards the AuthenticatedCommandStream method.
      • Otherwise, the stream will be directed towards UnauthenticatedCommandStream.

      Prior to completion of gRPC support for intra-cluster communication (PM-2960), EgressSession corresponds to non-internal clients, only supports blocking APIs, and does not support timeouts (blocking I/O is only interrupted due to cancellation or connection errors). Also, the egress path only inquires SSL configuration for intra-cluster authentication, which is out of scope for this project.

            Assignee:
            amirsaman.memaripour@mongodb.com Amirsaman Memaripour
            Reporter:
            amirsaman.memaripour@mongodb.com Amirsaman Memaripour
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: