-
Notifications
You must be signed in to change notification settings - Fork 295
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 for excess propose signals. #4816
Conversation
}() | ||
|
||
return nil | ||
} | ||
|
||
func (consensus *Consensus) isRotation(epoch *big.Int) bool { |
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.
why re-creating a new function and not use directly IsLeaderRotationInternalValidators ?
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.
i don't need to know which kind of rotation, i need the fact.
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.
ok and why recreating the function ?
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.
because leader rotation does not affect blockchain anyhow. It means, that we can safely remove internal and external epochs, and left only v2. Exactly in this part of code, i don't need to know which kind of rotation we use, i need to know that we have it active.
… proposing from `setupForNewConsensus`.
… proposing from `setupForNewConsensus`.
9b79b9f
to
234e9a2
Compare
@Frozen please fix travis CI:
|
fixed, lost some code during rebase |
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.
Checked against localnet via make debug-ext.
Faced both pre and post leaderRotationconsensus epochs in the !consensus.isRotation(blk.Epoch())
condition
This fixes certain issues, additional fixes will be in the next Prs. |
Added block number for ReadySignal. Additional check for firing block proposing from
setupForNewConsensus
.Main idea here is that we check if next key is not my - do not trigger propose.
https://github.com/harmony-one/harmony/pull/4816/files#diff-255a5cdd5516e7293e60a47a92503360676ddffb7e48e505598a589753b568c2R612