[SERVER-83932] Expose the RPC's termination status via the DBClientSession interface Created: 06/Dec/23  Updated: 21/Dec/23  Resolved: 21/Dec/23

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

Type: Improvement Priority: Major - P3
Reporter: Patrick Freed Assignee: Patrick Freed
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-12-11, Service Arch 2023-12-25
Participants:

 Description   

In gRPC, individual RPCs end with a return status set by the server, which contains an error code and a message. There is currently no way to observe this status when using a gRPC stream via a DBClientSession. In fact, right now all RPCs created via DBClientSession are terminated by cancellation, which appears server side as a failure.

We should introduce a way to close a DBClientSession such that the termination status is preserved, and we should adopt that in the shell's exit path.



 Comments   
Comment by Githook User [ 21/Dec/23 ]

Author:

{'name': 'Patrick Freed', 'email': 'patrick.freed@mongodb.com', 'username': 'patrickfreed'}

Message: SERVER-83932 Log RPC termination statuses in DBClientGRPCStream (#17718)

GitOrigin-RevId: 1b268b79edd7cf1ad98fdb9cc98fda4d5d0621c3
Branch: master
https://github.com/mongodb/mongo/commit/9b42dc5c6f9eddbd774e6bb54ce492584b4b4400

Comment by Githook User [ 20/Dec/23 ]

Author:

{'name': 'Patrick Freed', 'email': 'patrick.freed@mongodb.com', 'username': 'patrickfreed'}

Message: SERVER-83932 Reorganize gRPC call status reporting (#17604)

GitOrigin-RevId: c055c953a86c8292901b0a573c74e51a2d21725f
Branch: master
https://github.com/mongodb/mongo/commit/b3c878c60eeba83f715a09505735466836ddd3d4

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