-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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: fix flaky test-cluster-net-listen-ipv6only-none and related #29681
Conversation
This comment has been minimized.
This comment has been minimized.
Stress test against master (9999 runs--see debian8-64 for relevant results): |
Stress test against this PR (9999 runs): |
Stress test against master showed 21 failures (all of test-cluster-net-listen-ipv6only-none) out of 9999 runs on debian8-64. On stress test for this PR, we're 3800 runs in so far and 0 failures. 🎉[UPDATE: 0 failures in 9999 runs. This definitely fixes a flaky test.] |
It's not clear to me why the one test is susceptible and the other four are either not susceptible or are susceptible at much lower rates. I'm happy to reduce this PR to just be for the one demonstrably affected test even though the others should be affected as best as I can tell. Either way: @nodejs/testing This is ready for some reviews. |
@nodejs/cluster |
test-cluster-net-listen-ipv6only-none was using port `0` for an IPv6-only operation and assuming that the operating system would supply a port that was also available in IPv4. However, CI results seem to indicate that a port can be supplied that is in use by IPv4 but available to IPv6, resulting in the test failing. Use `common.PORT` to avoid this issue. Fixes: nodejs#29679
Since it was only the one test that was demonstrably failing in parallel, I moved the other ones back. It's just the one test that definitely needs to be in sequential that's being moved now. |
Landed in 1c5a3f0 |
test-cluster-net-listen-ipv6only-none was using port `0` for an IPv6-only operation and assuming that the operating system would supply a port that was also available in IPv4. However, CI results seem to indicate that a port can be supplied that is in use by IPv4 but available to IPv6, resulting in the test failing. Use `common.PORT` to avoid this issue. Fixes: nodejs#29679 PR-URL: nodejs#29681 Reviewed-By: Sam Roberts <[email protected]>
test-cluster-net-listen-ipv6only-none was using port `0` for an IPv6-only operation and assuming that the operating system would supply a port that was also available in IPv4. However, CI results seem to indicate that a port can be supplied that is in use by IPv4 but available to IPv6, resulting in the test failing. Use `common.PORT` to avoid this issue. Fixes: #29679 PR-URL: #29681 Reviewed-By: Sam Roberts <[email protected]>
test-cluster-net-listen-ipv6only-none was using port
0
for anIPv6-only operation and assuming that the operating system would supply
a port that was also available in IPv4. However, CI results seem to
indicate that a port can be supplied that is in use by IPv4 but
available to IPv6, resulting in the test failing. Use
common.PORT
toavoid this issue in this and similar tests.
Fixes: #29679
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes