GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — https: fix connection checking interval not clearing on server close by Linkgoron · Pull Request #48383 · nodejs/node Conversation
Contributor
The connection checking interval should get cleared when Fixes #48373
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. fixes: nodejs#48373
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not confident approving this without a test
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
|
There was an error while loading. Please reload this page.
I looked and couldn't find any tests for this specific The original intention that was approved here was to add it to https as well, but it was just an oversight that |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Shouldn't it be possible to write a minimal test based on the code in the original issue? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
I assumed that the question was something more functional than that. If it's just adding a test to check that the timer was cleared, it's not very difficult to check (The test would know some internals, as the timer hides behind a symbol so we'd need to expose it, but IMO it's not that bad). |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I second @marco-ippolito. Code changes look fine but we need tests, thanks :) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
added tests as requested, note that I also changed an existing test as the call to |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| const { createServer } = require('http'); | ||
| const { kConnectionsCheckingInterval } = require('_http_server'); | ||
|
|
||
| const server = createServer(function(req, res) {}); |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
| const server = createServer(function(req, res) {}); | |
| const server = createServer(); |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| cert: fixtures.readKey('agent1-cert.pem') | ||
| }; | ||
|
|
||
| const server = createServer(options, function(req, res) {}); |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
| const server = createServer(options, function(req, res) {}); | |
| const server = createServer(options); |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
lgtm awesome. I think I suffered from this bug as well.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. fixes: #48373 PR-URL: #48383 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. fixes: nodejs#48373 PR-URL: nodejs#48383 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. fixes: nodejs#48373 PR-URL: nodejs#48383 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. fixes: #48373 PR-URL: #48383 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
|
This PR broke citgm on |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
How did it broke CITGM? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
oh sorry I forgot to add some more details, it broke And here is the link to the full CITGM run: https://ci.nodejs.org/job/citgm-smoker/3229/ |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
it looks like it also broke |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. fixes: nodejs#48373 PR-URL: nodejs#48383 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. Fixes: #48373 PR-URL: #48383 Backport-PR-URL: #50194 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
There was an error while loading. Please reload this page.
|
why have we changed the behavior in minor release? i.e Is there any way to keep old behavior on v18. I completely understand and agree with adding a new method to handle it but modifying the existing one i.e server.close, it broke our app/tests. In an environment where we own client and server, we usually keep client timeout less than server keepalive timeout and let the client know by connection:close header to handle future request. Scenario: There could be multiple stack in different language talking to each other. related to #52330 CC: @mcollina @ShogunPanda Thoughts |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
This wasn't a semver-minor, it was a bug fix for a Node 19 change that was added here that missed that the added behavior to HTTP did not automatically apply to HTTPS, which was marked at the time as a semver-major. If I'm understanding correctly, the backport to 18 has a mistake #50194, it shouldn't have added |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. Fixes: nodejs/node#48373 PR-URL: nodejs/node#48383 Backport-PR-URL: nodejs/node#50194 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
The connection interval should close when httpsServer.close is called similarly to how it gets cleared when httpServer.close is called. Fixes: nodejs/node#48373 PR-URL: nodejs/node#48383 Backport-PR-URL: nodejs/node#50194 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
https.Server does not call http.close
There was an error while loading. Please reload this page.