[GODRIVER-2078] Stress test Go driver connections during Evergreen runs Created: 12/Jul/21  Updated: 28/Oct/23  Resolved: 16/Oct/21

Status: Closed
Project: Go Driver
Component/s: None
Affects Version/s: None
Fix Version/s: 1.8.0

Type: Improvement Priority: Unknown
Reporter: Matt Dale Assignee: Matt Dale
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by GODRIVER-2038 Use "ConnectionTimeout" for creating ... Closed
Epic Link: Connection pool improvements

 Description   

As part of the Tesla connection failure investigation, we've identified a number of failure modes with the current Go driver connection pooling and timeout logic that only occur during high load:

  • Empty connection pool can't recover if all operation timeouts are too low.
  • Connections are almost guaranteed to be closed if waiting too long for a connection from the pool or connection creation if the operation timeouts are too low.
  • If server latency spikes and many connections are closed, when the server recovers the connection pool doesn't recover because the application still has trouble creating connections if the operation timeouts are too low.

Configurations that seem to exacerbate the problem:

  • TLS-encrypted connections
  • OCSP verification without cert stapling
  • Auth-handshake connections

Create an Evergreen task that can reproduce these scenarios by load testing against an Atlas deployment. Consider running the load test as part of the Atlas test suite.



 Comments   
Comment by Githook User [ 16/Oct/21 ]

Author:

{'name': 'Matt Dale', 'email': '9760375+matthewdale@users.noreply.github.com', 'username': 'matthewdale'}

Message: GODRIVER-2078 Add a Client stress test that simulates traffic overload and recovery. (#732)
Branch: master
https://github.com/mongodb/mongo-go-driver/commit/aff557bb3476af003b9c39b72c692b77d8d5fb7a

Generated at Thu Feb 08 08:37:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.