[CSHARP-2768] Server selection times again out after launching mongocryptd process Created: 01/Oct/19 Updated: 28/Oct/23 Resolved: 04/Nov/19 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | Field Level Encryption |
| Affects Version/s: | 2.10.0 |
| Fix Version/s: | 2.10.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Robert Stam | Assignee: | Dmitry Lukyanov (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
The driver automatically launches the mongocryptd process as necessary (in response to a server selection timeout). But if the mongocryptd process takes more than one second to spin up the driver throws a second non-recoverable server selection timeout. Some mechanism is needed to delay the second round of server selection until mongocryptd is up and running and discovered by SDAM. |
| Comments |
| Comment by Githook User [ 04/Nov/19 ] | |||||||||||||||
|
Author: {'name': 'Dmitry Lukyanov', 'username': 'DmitryLukyanov', 'email': 'dmitry.lukyanov@mongodb.com'}Message: | |||||||||||||||
| Comment by Robert Stam [ 01/Oct/19 ] | |||||||||||||||
|
Here's some evidence that it is more likely to be an SDAM issue than delays in mongocryptd starting up:
The output is almost instantaneous, and notice that it starts waiting for connections within 5ms of the first message.
| |||||||||||||||
| Comment by Robert Stam [ 01/Oct/19 ] | |||||||||||||||
|
Note: another scenario could be that even if mongocryptd process spins up in much less than a second that some sort of hiccup in SDAM is causing delays in discovering it. | |||||||||||||||
| Comment by Robert Stam [ 01/Oct/19 ] | |||||||||||||||
|
See However, this error is happening so frequently when running tests on Evergreen that it seems very likely that applications would often hit the same server selection timeout. Therefore we need to fix this issue in the C# driver regardless of what happens with the SPEC ticket. |