-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Avoid ECONNRESET errors on idle timeout #162947
Conversation
Unskipped the tests related to #75440 Flaky test runner pipeline 100x - 🔴 (1 failure out of 100 runs) |
I updated the tests that intend to send the whole payload straight away, through this commit. Flaky test runner pipeline - 200x 🟢 |
a826ff4
to
ab4dac8
Compare
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]
History
To update your PR or re-run it, just comment with: |
Pinging @elastic/kibana-core (Team:Core) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work! Let's give it a try and see what happens. FYI, Builkite's got issues ATM, see https://www.buildkitestatus.com/
Summary
Address #82002 and #75440
I think I found a breakthrough for this flaky behavior. I run the integration test 800x locally, with different settings:
Adjusting both the delayed emission (send 1 char at a time), and the socket idle timeout to have exacly the same value (e.g.
10 millis
), I managed to get theECONNRESET
100% of the times.Thus, IIUC the ECONNRESET happens when the client tries to send a character over the socket and at the same time the server responds with the idle timeout.
Adjusting the values so that the delay between character emissions is significantly larger than the idle timeout, e.g. 20 vs 5, I get
socket hang up
100% of the times.Flaky Test Runner Pipeline - 300x 🟢
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4030