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: retry on known SmartOS bug #5454

Closed
wants to merge 1 commit into from
Closed

Conversation

Trott
Copy link
Member

@Trott Trott commented Feb 26, 2016

There is a known issue with SmartOS that is generally worked around
in tools/test.py. However, a more robust workaround is required for
some tests that open many network connections.

test-http-regr-gh-2928 is one such test.

Fixes: #5445
Refs: #3941

@Trott Trott added http Issues or PRs related to the http subsystem. test Issues and PRs related to the tests. smartos Issues and PRs related to the SmartOS platform. labels Feb 26, 2016
@Trott
Copy link
Member Author

Trott commented Feb 26, 2016

Stress test for this version of the test, expected to show zero failures: https://ci.nodejs.org/job/node-stress-single-test/545/nodes=smartos14-32/console

Stress test for current version on master, showing failures: https://ci.nodejs.org/job/node-stress-single-test/528/nodes=smartos14-32/console

@Trott
Copy link
Member Author

Trott commented Feb 26, 2016

@santigimeno
Copy link
Member

There is a known issue with SmartOS that is generally worked around
in tools/test.py

How is it done?

@Trott
Copy link
Member Author

Trott commented Feb 26, 2016

@santigimeno wrote:

There is a known issue with SmartOS that is generally worked around
in tools/test.py

How is it done?

See 8bc8038 and #3941

@Trott
Copy link
Member Author

Trott commented Feb 28, 2016

/cc @nodejs/testing

@Trott
Copy link
Member Author

Trott commented Feb 28, 2016

@Trott
Copy link
Member Author

Trott commented Feb 29, 2016

Bump. @nodejs/collaborators

@Trott
Copy link
Member Author

Trott commented Mar 1, 2016

Still fishing for an LGTM on this from an onboarded collaborator.

Maybe @mscdex who reported the problem?

Or @jasnell who LGTMed a similar fix in another test?

Or @indutny who reviewed a PR for a more generalized fix that helps other tests but not necessarily ones with lots of connections like this one?

@indutny
Copy link
Member

indutny commented Mar 1, 2016

Why doesn't more generalized fix do not help here?

socket.on('error', (e) => {
// If SmartOS and ECONNREFUSED, then retry. See
// https://github.com/nodejs/node/issues/2663.
if (common.isSunOS && (e.code === 'ECONNREFUSED')) {
Copy link
Member

Choose a reason for hiding this comment

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

Please skip additional parens here.

Copy link
Member Author

Choose a reason for hiding this comment

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

Please skip additional parens here.

Additional parens removed, branch rebased, force pushed. Will run CI one more time.

There's a build-in lint rule to catch extra parentheses, Alas, enabling it flags 315 instances in the code base. Probably not worth the churn. I might look more closely at it, though...

@indutny
Copy link
Member

indutny commented Mar 1, 2016

Anyway, if it helps - LGTM

@Trott
Copy link
Member Author

Trott commented Mar 1, 2016

@indutny asked:

Why doesn't more generalized fix do not help here?

The more generalized fix retries the test one time if it's SmartOS and failed due to ECONNREFUSED. That works well for tests that open just a few connections because the bug seems to crop up once every few hundred connections or so.

However, for tests that open dozens or hundreds of connections, one retry may not be enough. So, for this and for one other test, we ignore ECONNREFUSED on SmartOS and try the connection again within the test itself.

There is a known issue with SmartOS that is generally worked around
in `tools/test.py`. However, a more robust workaround is required for
some tests that open many network connections.

`test-http-regr-nodejsgh-2928` is one such test.

Fixes: nodejs#5445
Refs: nodejs#3941
PR-URL: nodejs#5454
@Trott
Copy link
Member Author

Trott commented Mar 1, 2016

Hopefully gratuitous CI: https://ci.nodejs.org/job/node-test-pull-request/1796/

Trott added a commit to Trott/io.js that referenced this pull request Mar 1, 2016
There is a known issue with SmartOS that is generally worked around
in `tools/test.py`. However, a more robust workaround is required for
some tests that open many network connections.

`test-http-regr-nodejsgh-2928` is one such test.

Fixes: nodejs#5445
Refs: nodejs#3941
PR-URL: nodejs#5454
Reviewed-By: Fedor Indutny <fedor@indutny.com>
@Trott
Copy link
Member Author

Trott commented Mar 1, 2016

Landed in 8592697

@Trott Trott closed this Mar 1, 2016
Fishrock123 pushed a commit that referenced this pull request Mar 2, 2016
There is a known issue with SmartOS that is generally worked around
in `tools/test.py`. However, a more robust workaround is required for
some tests that open many network connections.

`test-http-regr-gh-2928` is one such test.

Fixes: #5445
Refs: #3941
PR-URL: #5454
Reviewed-By: Fedor Indutny <fedor@indutny.com>
MylesBorins pushed a commit that referenced this pull request Mar 17, 2016
There is a known issue with SmartOS that is generally worked around
in `tools/test.py`. However, a more robust workaround is required for
some tests that open many network connections.

`test-http-regr-gh-2928` is one such test.

Fixes: #5445
Refs: #3941
PR-URL: #5454
Reviewed-By: Fedor Indutny <fedor@indutny.com>
MylesBorins pushed a commit that referenced this pull request Mar 21, 2016
There is a known issue with SmartOS that is generally worked around
in `tools/test.py`. However, a more robust workaround is required for
some tests that open many network connections.

`test-http-regr-gh-2928` is one such test.

Fixes: #5445
Refs: #3941
PR-URL: #5454
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Trott added a commit to Trott/io.js that referenced this pull request May 3, 2016
The flakiness issue for test-http-regr-nodejsgh-2928 on SmartOS was resolved
in late February in nodejs#5454. This
change removes its flaky designation in sequential.status.
Trott added a commit to Trott/io.js that referenced this pull request May 5, 2016
The flakiness issue for test-http-regr-nodejsgh-2928 on SmartOS was resolved
in late February in nodejs#5454. This
change removes its flaky designation in sequential.status.

PR-URL: nodejs#6540
Reviewed-By: James M Snell <jasnell@gmail.com>
evanlucas pushed a commit that referenced this pull request May 17, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 11, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 11, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 12, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 12, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 14, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 14, 2016
The flakiness issue for test-http-regr-gh-2928 on SmartOS was resolved
in late February in #5454. This
change removes its flaky designation in sequential.status.

PR-URL: #6540
Reviewed-By: James M Snell <jasnell@gmail.com>
@Trott Trott deleted the fix-fix-fix branch January 13, 2022 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
http Issues or PRs related to the http subsystem. smartos Issues and PRs related to the SmartOS platform. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants