|
The Go Driver often gets troubleshooting tickets for errors encountered when checking out a connection pool, see here. We should extend "docs/common-issues.md" to include a section addressing these errors and common causes. The following is a non-exhaustive list of possible issues:
1. Operation timeout
2. Setting a max pool size less than the number of pending operations
3. Canceling the context asynchronously before the operations complete
4. Executing with CSOT
5. Executing with a deadline / timeout on the operation context
Here is a gist of issues that can occur from canceling / timing out: https://gist.github.com/prestonvasquez/1e9137e4ed85733967cb8758cd8e0fe3
Other solutions would be to check the packets being sent over the wire either using event monitoring or a packet analyzer such as wire shark.
|