-
Notifications
You must be signed in to change notification settings - Fork 246
DRIVERS-3218 Avoid clearing the connection pool when the server connection rate limiter triggers #1855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…ction rate limiter triggers
| data: | ||
| failCommands: ["isMaster","hello"] | ||
| closeConnection: true | ||
| blockConnection: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While we are discouraged from changing existing tests, these test still pass without the backpressure changes, and this avoids adding a new runOnRequirement.
source/connection-monitoring-and-pooling/connection-monitoring-and-pooling.md
Outdated
Show resolved
Hide resolved
source/server-discovery-and-monitoring/server-discovery-and-monitoring.md
Show resolved
Hide resolved
source/server-discovery-and-monitoring/tests/unified/backpressure-network-error-fail.yml
Show resolved
Hide resolved
baileympearson
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed some test issues with Steve on slack, here's some other comments I had. My POC in Node is passing locally with the changes Steve is planning to make; once I have updated tests I'll test my POC in CI and hopefully everything passes.
source/server-discovery-and-monitoring/server-discovery-and-monitoring.md
Outdated
Show resolved
Hide resolved
source/server-discovery-and-monitoring/tests/unified/backpressure-network-error-fail.yml
Outdated
Show resolved
Hide resolved
source/server-discovery-and-monitoring/tests/unified/backpressure-network-error-fail.yml
Show resolved
Hide resolved
source/server-discovery-and-monitoring/server-discovery-and-monitoring-tests.md
Outdated
Show resolved
Hide resolved
source/server-discovery-and-monitoring/server-discovery-and-monitoring.md
Show resolved
Hide resolved
source/server-discovery-and-monitoring/server-discovery-and-monitoring-tests.md
Outdated
Show resolved
Hide resolved
source/server-discovery-and-monitoring/server-discovery-and-monitoring-tests.md
Outdated
Show resolved
Hide resolved
…nitoring.md Co-authored-by: Bailey Pearson <bailey.pearson@gmail.com>
|
Note: I haven't yet updated the prose test implementation in pymongo. I'm working on that next. |
baileympearson
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One minor comment.
Second implementation in Node is passing: https://spruce.mongodb.com/version/691f7e221be6180007ecf081/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC
source/connection-monitoring-and-pooling/connection-monitoring-and-pooling.md
Show resolved
Hide resolved
source/connection-monitoring-and-pooling/connection-monitoring-and-pooling.md
Outdated
Show resolved
Hide resolved
|
|
||
| ## Changelog | ||
|
|
||
| - 2025-XX-YY: Add handling of backpressure error labels. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changelog dates?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
| many clients start at once. A client's subsequent scans of the mongoses are always in the same order, since their | ||
| lastUpdateTimes are always in the same order by the time a scan ends. | ||
|
|
||
| ##### Handling of backpressure labels |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kevinAlbs We added this section specifically for the C Driver. Does this make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SGTM.
| # Note: for single-threaded monitors, only clear if the `SystemOverloadedError` is not applied to the | ||
| # error. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest removing this Note:. This is in the "Monitor thread" section. The C driver single-threaded client does not implement the "Streaming Protocol" (only polling). I think the new "Handling of backpressure labels" is enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've pinged you for one more approval for this change
kevinAlbs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additions to server-monitoring.md LGTM with a typo fix.
Co-authored-by: Kevin Albertson <kevin.eric.albertson@gmail.com>
Replaces #1852
Please complete the following before merging:
clusters).