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: deflake test-http2-large-write-multiple-requests #51863

Closed
wants to merge 2 commits into from

Conversation

joyeecheung
Copy link
Member

@joyeecheung joyeecheung commented Feb 23, 2024

If the server is not referenced, it might go away too soon and the client may not get enough ends for it to close itself, resulting a timeout.
This patch updates the test to simply close the server when enough requests have been processed, and keep the server referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
Refs: nodejs/reliability#791

If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. test Issues and PRs related to the tests. labels Feb 23, 2024
@joyeecheung
Copy link
Member Author

joyeecheung commented Feb 23, 2024

In recent CI runs this only reproduces on containered builds, which the stress test doesn't cover. Some older reliability reports (e.g. nodejs/reliability#784 from a week ago) suggest that this also reproduces on fedora-latest-x64, rhel8-x64 and ubuntu2204-64, I did a stress test (https://ci.nodejs.org/view/Stress/job/node-stress-single-test/476/) for this branch and another (https://ci.nodejs.org/view/Stress/job/node-stress-single-test/477/) for the main branch, both are green, so I guess we can only verify this using the PR CI.

@joyeecheung joyeecheung added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 23, 2024
@joyeecheung
Copy link
Member Author

joyeecheung commented Feb 23, 2024

I don't think it's necessary for the test to unref the server and it's safe to keep it referenced while maintaining the validity of the test (as far as I can tell from CVE-2019-9517 and CVE-2019-9511 descriptions) but cc @nodejs/http2 just in case.

@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 23, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

Co-authored-by: Luigi Pinca <luigipinca@gmail.com>
@joyeecheung joyeecheung added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 24, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 24, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

joyeecheung added a commit that referenced this pull request Feb 26, 2024
If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
PR-URL: #51863
Refs: nodejs/reliability#791
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@joyeecheung
Copy link
Member Author

Landed in a4dd041

marco-ippolito pushed a commit that referenced this pull request Feb 26, 2024
If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
PR-URL: #51863
Refs: nodejs/reliability#791
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
marco-ippolito pushed a commit that referenced this pull request Feb 26, 2024
If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
PR-URL: #51863
Refs: nodejs/reliability#791
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@joyeecheung
Copy link
Member Author

Looks like the flake is still there https://ci.nodejs.org/job/node-test-commit-linux/56383/nodes=rhel8-x64/consoleFull

We do get some more logs though. It seems the clients and the server are all supposed to be closed. Not sure what else is keeping the process alive..

marco-ippolito pushed a commit that referenced this pull request Feb 27, 2024
If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
PR-URL: #51863
Refs: nodejs/reliability#791
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@marco-ippolito marco-ippolito mentioned this pull request Mar 1, 2024
richardlau pushed a commit that referenced this pull request Mar 25, 2024
If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
PR-URL: #51863
Refs: nodejs/reliability#791
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
richardlau pushed a commit that referenced this pull request Mar 25, 2024
If the server is not referenced, it might go away too soon
and the client may not get enough ends for it to close
itself, resulting a timeout.
This patch updates the test to simply close the server when
enough requests have been processed, and keep the server
referenced while the test is ongoing.

Drive-by: add more logs to facilitate debugging.
PR-URL: #51863
Refs: nodejs/reliability#791
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>