[SERVER-74014] Add a new `Session` type for egress gRPC streams Created: 14/Feb/23  Updated: 29/Oct/23  Resolved: 16/Jun/23

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: New Feature Priority: Major - P3
Reporter: Amirsaman Memaripour Assignee: Amirsaman Memaripour
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Service Arch
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2023-05-15, Service Arch 2023-05-29, Service Arch 2023-06-12, Service Arch 2023-06-26
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 15/Jun/23 ]

Author:

{'name': 'Saman Memaripour', 'email': 'amirsaman.memaripour@mongodb.com', 'username': 'samanca'}

Message: SERVER-74014 Add a new `Session` type for egress gRPC streams
Branch: master
https://github.com/mongodb/mongo/commit/e4977d90c1cab6056d566a07481b8759e0b39ed0

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