-
Notifications
You must be signed in to change notification settings - Fork 385
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
fix(bft): correctly drain channels events #1515
Conversation
Signed-off-by: gfanton <[email protected]>
Signed-off-by: gfanton <[email protected]>
38c99dd
to
044fee5
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1515 +/- ##
==========================================
- Coverage 49.04% 49.03% -0.01%
==========================================
Files 576 576
Lines 77556 77556
==========================================
- Hits 38035 38033 -2
Misses 36439 36439
- Partials 3082 3084 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: gfanton <[email protected]>
044fee5
to
dc64728
Compare
Signed-off-by: gfanton <[email protected]>
Thank you for doing this work. |
@gfanton what's the status of this PR? |
Current state is:
What we can do:
EDIT: Got another idea but I'm not really liking it as it looks a bit messy: The main deadlock issue come from the method My preference is still to have an event queue as it looks way cleaner to me. |
Let's talk about merging the current state to enhance global efficiency in the upcoming review meeting. We can then collaborate with @jaekwon to resolve the remaining cases. |
9993c05
to
5d493c0
Compare
Signed-off-by: gfanton <[email protected]>
TL;DR: Reverting Next Review Meeting Note: I need a final check on f17c9b5. If the commit looks good, the PR is ready for me to merge. |
Signed-off-by: gfanton <[email protected]>
move `ensureProposal` before `GetRoundState` Signed-off-by: gfanton <[email protected]>
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.
You know I'm not a fan of these sorts of fixes, especially when they use the hidden jutsu of reflect :)
I think it's finally time to put the flaky CI to rest (at least most of it), so I'm willing to move on this fix 👏
It is worth noting that we have fixed all of these issues in the libtm testing suite, so even these tests are just here temporarily
Co-authored-by: Manfred Touron <[email protected]>
addresses #1320
This PR does two things:
GetRoundState
becomes blocked. In the event of any panic, it will attempt to drain all relevant channels to identify which events have not been drained.for now, you can checkout this branch, it will fail locally (using @jaekwon trick)
There are still some tests that I was unable to resolve. I have marked these with
// XXX(FIXME)
intm2/pkg/bft/consensus/state_test.go
:Contributors' checklist...
BREAKING CHANGE: xxx
message was included in the description