fix(NODE-7459): explicitly call setKeepAlive and setNoDelay on socket#4879
Merged
PavelSafronov merged 3 commits intomainfrom Mar 19, 2026
Merged
fix(NODE-7459): explicitly call setKeepAlive and setNoDelay on socket#4879PavelSafronov merged 3 commits intomainfrom
PavelSafronov merged 3 commits intomainfrom
Conversation
b3c05d1 to
01445e8
Compare
dariakp
reviewed
Mar 2, 2026
PavelSafronov
previously approved these changes
Mar 17, 2026
Contributor
PavelSafronov
left a comment
There was a problem hiding this comment.
Fix looks good. Daria raised concerns about this bug coming back, let's figure out a strategy for this.
PavelSafronov
approved these changes
Mar 17, 2026
Contributor
PavelSafronov
left a comment
There was a problem hiding this comment.
Added TODO as discussed, approving.
dariakp
approved these changes
Mar 18, 2026
PavelSafronov
added a commit
to PavelSafronov/node-mongodb-native
that referenced
this pull request
Mar 19, 2026
…mongodb#4879) Co-authored-by: Pavel Safronov <pavel.safronov@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Summary of Changes
Revert previous behaviour of explicitly calling setKeepAlive and setNoDelay on the socket due to the Node.js bug: nodejs/node#62004
Notes for Reviewers
What is the motivation for this change?
Release Highlight
Fixed TCP keep-alive and no-delay settings not being applied on TLS connections
Due to a Node.js bug,
tls.connect()silently ignoreskeepAlive,keepAliveInitialDelay, andnoDelayoptions passed through its constructor. This could cause connections - particularly through cloud load balancers like Azure (240s idle timeout) or AWS PrivateLink/NLB - to be dropped unexpectedly due to missing TCP keep-alive probes.The driver now explicitly calls
setKeepAlive()andsetNoDelay()on the socket after creation, ensuring these settings are always applied regardless of whether TLS is used.Double check the following
npm run check:lint)type(NODE-xxxx)[!]: descriptionfeat(NODE-1234)!: rewriting everything in coffeescript