fix: testground instability due to race condition on outcomes#1407
Merged
laurentsenta merged 11 commits intomasterfrom Aug 5, 2022
Merged
fix: testground instability due to race condition on outcomes#1407laurentsenta merged 11 commits intomasterfrom
laurentsenta merged 11 commits intomasterfrom
Conversation
5 tasks
dc7f133 to
6027201
Compare
2 tasks
d19b932 to
0494134
Compare
Member
|
Thank you @laurentsenta for debugging this. Very valuable work. |
f483906 to
f7e8b52
Compare
8e704e9 to
6d665fc
Compare
6d665fc to
882a35f
Compare
Contributor
Author
|
I'm marking this for review, this new version is more stable in my tests,
The patch does not add tests: testing this error specifically and reliably is tough, and I'd rather spend energy on this later to explose the implementation into unit-testable bricks (when we work on new runners maybe). I did left the code cleaner than I found it (boyscout'ing ;), this PR extracts a few methods and drops any channel-related spaghetti. The reasons behind success or failure should be much more clear now. |
brdji
reviewed
Aug 3, 2022
Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
brdji
approved these changes
Aug 4, 2022
Contributor
Author
|
Thanks for the review, |
2 tasks
6 tasks
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.
Fix #1400
Fix #1382
When the docker runner starts a test run it does a few things:
When the containers exits (1) testground stops everything related to collecting the outcomes (3).
This is fine-ish with the go-sdk because it dumps events to stdout as well, so the outcomes will be read thanks to (2).
Logging events on stdout and trying to decode the JSON looked like a legacy hack: this was not implemented in the rust-sdk. See my notes on the pretty printer. The rust-sdk triggers a race condition:
I believe we've seen this error on go-sdk, less often, see this comment.
This PR rework the local docker runner so that a test is complete if and only if:
See runs:
Todo