ouroboros-consensus
ouroboros-consensus copied to clipboard
Bootstrap GSM tech debt
Taken from https://github.com/IntersectMBO/ouroboros-consensus/pull/808#issuecomment-1954913114, upon clicking the "Merge when ready" button.
- [x] s-r-p stanzas (see https://github.com/IntersectMBO/ouroboros-consensus/pull/808#discussion_r1490714381)
- [ ] Either move the GSM logic into the ChainDB and keep the GSM arguments as part of the ChainDB arguments (which would be encapsulated inside of openChainDB) or remove the argument from the ChainDB arguments and keep it as a NodeKernel-level thing.
- [ ] move the anti-thundering herd delay into the Diffusion Layer, between the two states CaughtUp and OnlyBootstrap
- regression tests (code review and ad-hoc manual testing has already evidenced that they're currently correct):
- [ ]
realMarkerFileViewregression tests - [ ]
initializationLedgerJudgementregression tests - [ ]
realDurationUntilTooOldregression tests - [ ] The ChainSync client should signal idle exactly when and only when the
MsgAwaitReplyis processed. - [ ] The ChainSync client subsequently should signal no-longer-idle exactly when and only when the next message is received.
- [ ]
- [x] #1149
- [ ] use
ArbitraryLedgerStateJudgementfromouroboros-network:sim-tests-lib
- Either move the GSM logic into the ChainDB and keep the GSM arguments as part of the ChainDB arguments (which would be encapsulated inside of
openChainDB) or remove the argument from the ChainDB arguments and keep it as a NodeKernel-level thing.
~What is the status of the non-bootstrap GSM? Have we ever implemented one?~ What I meant is whether the Genesis SoW is finished and we've integrated it?
Yes, the GSM now actually deserves its name. The changes for that were rather small:
- https://github.com/IntersectMBO/ouroboros-consensus/pull/975
- https://github.com/IntersectMBO/ouroboros-consensus/pull/1031
The tasks in this ticket should be independent of that.