-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Networking & Observability
-
ALL
-
Egress gRPC 2025-02-14
-
1
Some of the C++ integration tests use ConnectionString::connect to produce a DBClientBase, but the default behavior of this is to use DBClientConnection (a mongorpc-only type) unless gRPC is specified via the MongoURI argument. gRPC is specified trhough the --enableEgressGRPC argument to the integration tests rather than through the connection string though, so this results in a DBClientConnection being backed by a gRPC stream.
To fix this, we should ensure that gRPC is specified when calling ConnectionString::connect. The easiest way forward here might be to parse the --connectionString argument in integration tests with MongoURI, which supports the gRPC URI option. We may want to use that instead of a separate --useEgressGRPC argument.
To catch this in the future, we should also explicitly grab the MongoRPC transport layer in DBClientConnection, and invariant that one is present when doing so.