-
Notifications
You must be signed in to change notification settings - Fork 86
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 Praos obsolete node check #3891
Conversation
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.
Thanks, Jared! Nice PR.
I did make one significant comment.
ouroboros-consensus-protocol/src/Ouroboros/Consensus/Protocol/Praos/Views.hs
Outdated
Show resolved
Hide resolved
ouroboros-consensus-shelley/src/Ouroboros/Consensus/Shelley/Protocol/Praos.hs
Show resolved
Hide resolved
c8c03eb
to
021c35a
Compare
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.
Looks good to me, thanks Jared 👍
bors merge |
3891: Fix Praos obsolete node check r=JaredCorduan a=JaredCorduan # Description The obsolete node check in the `Praos` ledger protocol is suppose to compare the current major protocol version (from the protocol parameters in the ledger state) with the global "max major protocol version" value. Currently, however, it is checking that the global max major value is not bigger than the protocol version listed in the block header (which is not supposed to have any semantic meaning). This PR fixes the check to perform the same logic done by the `TPraos` ledger protocol, ie the logic in the ledger function `chainChecks`. To do this, `Views.LedgerView` now contains the current protocol parameters. The consequence of the incorrect obsolete node check is that nodes will not properly halt after a hard fork when they do not have the required software for the hard fork. Co-authored-by: Jared Corduan <[email protected]>
Timed out. |
bors r+ |
3891: Fix Praos obsolete node check r=JaredCorduan a=JaredCorduan # Description The obsolete node check in the `Praos` ledger protocol is suppose to compare the current major protocol version (from the protocol parameters in the ledger state) with the global "max major protocol version" value. Currently, however, it is checking that the global max major value is not bigger than the protocol version listed in the block header (which is not supposed to have any semantic meaning). This PR fixes the check to perform the same logic done by the `TPraos` ledger protocol, ie the logic in the ledger function `chainChecks`. To do this, `Views.LedgerView` now contains the current protocol parameters. The consequence of the incorrect obsolete node check is that nodes will not properly halt after a hard fork when they do not have the required software for the hard fork. Co-authored-by: Jared Corduan <[email protected]>
Build failed: |
3896: Fix chocolatey error in GH Actions Windows CI r=amesgen a=amesgen # Description Like #3075, in order to fix the current CI issue, see e.g. #3891 (comment) Co-authored-by: amesgen <[email protected]>
bors retry |
3891: Fix Praos obsolete node check r=JaredCorduan a=JaredCorduan # Description The obsolete node check in the `Praos` ledger protocol is suppose to compare the current major protocol version (from the protocol parameters in the ledger state) with the global "max major protocol version" value. Currently, however, it is checking that the global max major value is not bigger than the protocol version listed in the block header (which is not supposed to have any semantic meaning). This PR fixes the check to perform the same logic done by the `TPraos` ledger protocol, ie the logic in the ledger function `chainChecks`. To do this, `Views.LedgerView` now contains the current protocol parameters. The consequence of the incorrect obsolete node check is that nodes will not properly halt after a hard fork when they do not have the required software for the hard fork. Co-authored-by: Jared Corduan <[email protected]>
Build failed: |
There is a rework of the GH Actions Windows CI (#3901) just around the corner, which will hopefully resolve this 🙏 |
The obsolete node check in the Praos ledger protocol is suppose to compare the current major protocol version (from the protocol parameters in the ledger state) with the global "max major protocol version" value. Currently, however, it is checking that the global max major value is not bigger than the protocol version listed in the block header (which is not supposed to have any semantic meaning). This PR fixes the check to perform the same logic done by the TPraos ledger protocol, ie the logic in the ledger function chainChecks. To do this, `Views.LedgerView` now contains the current protocol parameters.
021c35a
to
d75ca17
Compare
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.
This should be good to go now, the necessary CI improvements have been merged.
bors retry |
3896: Fix chocolatey error in GH Actions Windows CI r=amesgen a=amesgen # Description Like #3075, in order to fix the current CI issue, see e.g. #3891 (comment) Co-authored-by: amesgen <[email protected]>
Description
The obsolete node check in the
Praos
ledger protocol is suppose to compare the current major protocol version (from the protocol parameters in the ledger state) with the global "max major protocol version" value. Currently, however, it is checking that the global max major value is not bigger than the protocol version listed in the block header (which is not supposed to have any semantic meaning).This PR fixes the check to perform the same logic done by the
TPraos
ledger protocol, ie the logic in the ledger functionchainChecks
. To do this,Views.LedgerView
now contains the current protocol parameters.The consequence of the incorrect obsolete node check is that nodes will not properly halt after a hard fork when they do not have the required software for the hard fork.
Checklist
interface-CHANGELOG.md
interface-CHANGELOG.md