Fix fork publish inactive#4091
Merged
dsiganos merged 4 commits intonanocurrency:developfrom Feb 8, 2023
Merged
Conversation
If the election is not started, there is no where to save the forked block
Contributor
Author
|
NOTES:
|
clemahieu
previously approved these changes
Feb 1, 2023
LeandroVCastro
previously approved these changes
Feb 1, 2023
pwojcikdev
previously approved these changes
Feb 8, 2023
Contributor
pwojcikdev
left a comment
There was a problem hiding this comment.
If you can leave a TODO comment explaining the concerns regarding this behavior it will be great (same as in this PR description)
a187ca8
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.
In test case node.fork_publish_inactive, there is a race condition.
The election and the processing of block send2 happen in parallel.
Usually the election happens first and the send2 block is added to the election.
However, if the send2 block is processed before the election is started then the election does not notice the send2 block.
The test case can be made to pass by ensuring the election is started before the send2 is processed.
However, is this a problem with the test case or this is a problem with the node handling of forks?