Fix flaky liveshare session test#5111
Merged
marwan-at-work merged 3 commits intotrunkfrom Jan 27, 2022
Merged
Conversation
Collaborator
|
Hi! Thanks for the pull request. Please ensure that this change is linked to an issue by mentioning an issue number in the description of the pull request. If this pull request would close the issue, please put the word 'Fixes' before the issue number somewhere in the pull request body. If this is a tiny change like fixing a typo, feel free to ignore this message. |
josebalius
approved these changes
Jan 27, 2022
Contributor
josebalius
left a comment
There was a problem hiding this comment.
Thanks again @marwan-at-work! 🙏
mislav
approved these changes
Jan 27, 2022
Contributor
mislav
left a comment
There was a problem hiding this comment.
Excellent sleuthing 🎉 Thank you!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The session.keepAlive method by design drops requests if there's already one in flight. However, our tests send 2 requests and assert that two requests were received and none were dropped. The way it was achieving that is by hoping to sleep long enough between the two requests.
However, sleeping during tests for network requests to finish (even if by a local network) does not guarantee that said network requests will finish before the sleep is done and therefore we get rare but existing flakes where the session test below fails.
This PR switches sleeping two having waitgroups to ensure that the serve request is finished (note that only guarantees the server request function is finished and not that the client side has moved on).
internal issue: 6101