-
Notifications
You must be signed in to change notification settings - Fork 715
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
Speculative execution support #2249
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.
Ok I've looked more at the various ledger structures, and the request queue. Which look good overall. Potential follow-up noted at #2348
bors merge |
2249: Speculative execution support r=damip a=damip # Intro This is a rewrite of the execution system following the spec we already agreed upon, as well as good practices and with the big refactoring constraints in mind. # Goals * [x] enable speculative execution * [x] get ready for ledger unification # Practices * [x] no async because it's not needed * [x] short functions (max 50 lines of code) * [x] no panics, unless described * crates split between worker and exports * [x] execution * [x] ledger: it will be refactored for on-disk storage, we will split it then => #2342 * thorough documentation * [x] function docs * [x] algorithm description * [x] file-level documentation * [x] crate-level documentation * [x] test exports * [x] unit and functional tests: to be added in a followup #2296 * [x] use genericity whenever possible * [x] clippy lints # Checklist * [x] implement speculative execution * [x] split execution into worker/exports crates * [x] create massa-ledger crate * [x] integrate execution and ledger into the existing program * [x] repair bootstrap tests * [x] repair consensus tests * [x] improve documentation * [x] try on labnet * [x] reactivate execution tests => will be done in a followup #2296 * [x] add specific tests => will be done in the followup #2296 Co-authored-by: Damir Vodenicarevic <[email protected]> Co-authored-by: damip <[email protected]>
Thank you @adrien-zinger and @gterzian for the review |
Build failed: |
bors merge |
2249: Speculative execution support r=damip a=damip # Intro This is a rewrite of the execution system following the spec we already agreed upon, as well as good practices and with the big refactoring constraints in mind. # Goals * [x] enable speculative execution * [x] get ready for ledger unification # Practices * [x] no async because it's not needed * [x] short functions (max 50 lines of code) * [x] no panics, unless described * crates split between worker and exports * [x] execution * [x] ledger: it will be refactored for on-disk storage, we will split it then => #2342 * thorough documentation * [x] function docs * [x] algorithm description * [x] file-level documentation * [x] crate-level documentation * [x] test exports * [x] unit and functional tests: to be added in a followup #2296 * [x] use genericity whenever possible * [x] clippy lints # Checklist * [x] implement speculative execution * [x] split execution into worker/exports crates * [x] create massa-ledger crate * [x] integrate execution and ledger into the existing program * [x] repair bootstrap tests * [x] repair consensus tests * [x] improve documentation * [x] try on labnet * [x] reactivate execution tests => will be done in a followup #2296 * [x] add specific tests => will be done in the followup #2296 Co-authored-by: Damir Vodenicarevic <[email protected]> Co-authored-by: damip <[email protected]>
Build failed: |
bors merge |
2249: Speculative execution support r=damip a=damip # Intro This is a rewrite of the execution system following the spec we already agreed upon, as well as good practices and with the big refactoring constraints in mind. # Goals * [x] enable speculative execution * [x] get ready for ledger unification # Practices * [x] no async because it's not needed * [x] short functions (max 50 lines of code) * [x] no panics, unless described * crates split between worker and exports * [x] execution * [x] ledger: it will be refactored for on-disk storage, we will split it then => #2342 * thorough documentation * [x] function docs * [x] algorithm description * [x] file-level documentation * [x] crate-level documentation * [x] test exports * [x] unit and functional tests: to be added in a followup #2296 * [x] use genericity whenever possible * [x] clippy lints # Checklist * [x] implement speculative execution * [x] split execution into worker/exports crates * [x] create massa-ledger crate * [x] integrate execution and ledger into the existing program * [x] repair bootstrap tests * [x] repair consensus tests * [x] improve documentation * [x] try on labnet * [x] reactivate execution tests => will be done in a followup #2296 * [x] add specific tests => will be done in the followup #2296 Co-authored-by: Damir Vodenicarevic <[email protected]> Co-authored-by: damip <[email protected]>
Build failed: |
5f4b91b
bors merge |
Build succeeded: |
Intro
This is a rewrite of the execution system following the spec we already agreed upon, as well as good practices and with the big refactoring constraints in mind.
Goals
Practices
Checklist