Skip to content
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

test: improve reliability in http2-session-timeout #22026

Closed
wants to merge 1 commit into from

Conversation

Trott
Copy link
Member

@Trott Trott commented Jul 30, 2018

Use setImmediate() instead of setTimeout() to improve robustness of
test-http2-session-timeout.

Fixes: #20628

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added the test Issues and PRs related to the tests. label Jul 30, 2018
@Trott Trott force-pushed the further-reliability branch from 170374d to d328194 Compare July 30, 2018 02:29
Use `setImmediate()` instead of `setTimeout()` to improve robustness of
test-http2-session-timeout.

Fixes: nodejs#20628
@Trott Trott force-pushed the further-reliability branch from d328194 to 3ee47c7 Compare July 30, 2018 02:29
@@ -37,7 +36,7 @@ server.listen(0, common.mustCall(() => {
const diff = process.hrtime(startTime);
const milliseconds = (diff[0] * 1e3 + diff[1] / 1e6);
if (milliseconds < serverTimeout * 2) {
setTimeout(makeReq, callTimeout);
setImmediate(makeReq);

This comment was marked as resolved.

This comment was marked as resolved.

Copy link
Member

@apapirovski apapirovski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All I can suggest is making the server timeout 1000 and the callTimeout 200. The current change makes this test no longer valid.

Copy link
Member

@apapirovski apapirovski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

D'oh, I totally misread how this test works. Works for me if this actually fixes the flakiness

@apapirovski
Copy link
Member

apapirovski commented Jul 31, 2018

@Trott can we confirm with a stress test? From what I recall of writing this test, launching too many requests was problematic in making the test flaky in a different way. I used to have setTimeout for 1ms which was nearly equivalent to this.

Edit: just got home and started it myself https://ci.nodejs.org/job/node-stress-single-test/1973/

@Trott
Copy link
Member Author

Trott commented Jul 31, 2018

@nodejs/testing

@apapirovski
Copy link
Member

I ran two stress tests and both appear to be green. 🎉

@Trott
Copy link
Member Author

Trott commented Aug 1, 2018

@Trott
Copy link
Member Author

Trott commented Aug 1, 2018

@Trott Trott added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Aug 1, 2018
@Trott
Copy link
Member Author

Trott commented Aug 1, 2018

Trott added a commit to Trott/io.js that referenced this pull request Aug 1, 2018
Use `setImmediate()` instead of `setTimeout()` to improve robustness of
test-http2-session-timeout.

Fixes: nodejs#20628

PR-URL: nodejs#22026
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
@Trott
Copy link
Member Author

Trott commented Aug 1, 2018

Landed in d2ffcac

@Trott Trott closed this Aug 1, 2018
targos pushed a commit that referenced this pull request Aug 2, 2018
Use `setImmediate()` instead of `setTimeout()` to improve robustness of
test-http2-session-timeout.

Fixes: #20628

PR-URL: #22026
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
kjin pushed a commit to kjin/node that referenced this pull request Sep 25, 2018
Use `setImmediate()` instead of `setTimeout()` to improve robustness of
test-http2-session-timeout.

Fixes: nodejs#20628

PR-URL: nodejs#22026
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
kjin pushed a commit to kjin/node that referenced this pull request Oct 16, 2018
Use `setImmediate()` instead of `setTimeout()` to improve robustness of
test-http2-session-timeout.

Fixes: nodejs#20628

PR-URL: nodejs#22026
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
BethGriggs pushed a commit that referenced this pull request Oct 17, 2018
Use `setImmediate()` instead of `setTimeout()` to improve robustness of
test-http2-session-timeout.

Fixes: #20628

Backport-PR-URL: #22850
PR-URL: #22026
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
@BethGriggs BethGriggs mentioned this pull request Oct 30, 2018
@Trott Trott deleted the further-reliability branch January 13, 2022 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Investigate flaky test-http2-session-timeout
7 participants