WIP: Enable downloading of transaction sets in parallel with early SCP stages#5209
Draft
bboston7 wants to merge 9 commits intostellar:masterfrom
Draft
WIP: Enable downloading of transaction sets in parallel with early SCP stages#5209bboston7 wants to merge 9 commits intostellar:masterfrom
bboston7 wants to merge 9 commits intostellar:masterfrom
Conversation
Some early notes Item fetcher note More notes Notes Interface improvements Add way to get time spent waiting for tx hash Formatting Expose download times, and check in ballot protocol Find actual "step 3" location Notes Consider values being downloaded as valid for nomination Allow partially validated values to step 3 Fix nomination validation check Allow proceeding without tx set Logging More general logging More targeted log messages More super detailed logging More logging Improve pending envelope flow Handle combining candidates Sim network setup Manually feed SCP messages to node0 Loadgen Catchup two ledgers worth Optional checks fmt Gate feature on app being synced Lots of log changes and sanity checks Fix loadgen issues Allow processed messages through Add `feedTxSetFromStatement` Cleanup Add ability to feed all tx sets from a given slots Feed everywhere Test different injection points TODO Check wait time Revert "Check wait time" This reverts commit 0f8d1e4. Fix test for cases where the voted on value changes Harden test to handle case where first slot experiences issue Reapply "Check wait time" This reverts commit 53719f7. Outline skip ledger test Add support for message filtering Reliably force skip ledger condition Debug timers Simple vote-to-skip based on static timeout Checkpoint Builds Add `isSkipLedgerValue` Fix test instances Downstream skip ledger handling Take largest existing skip value when available todo Downstream skip ledger handling Replace v_3 v_2 Update some comments Bump xdr Handle high level union TODO signature checking Generate new skip values Don't short circuit on stall Refactor skip location Programmatically check that SKIP is externalized Better skip checking Metrics New (nonworking) test Fix vote reversal test Configurable timeout Bump default timeout Move debug messages to own partition Add new metric tracking time blocked during balloting Some testing notes Add some low level skip tests Fix errors introduced in rebase Cleanup + triage TODOs Fix lifetimes of tx set objects Formatting Handles todos 1 and 2 Fix todo 3 TODO 6 TODOs 7, 9, and 10 Add some details around TODOs 11 and 12 Value -> StellarValue error handling Add new fields to better construct skip value tx sets Replace `kInvalidValue` with skip in `maybeReplaceValueWithSkip` Remove todo 16 Clarify envelope parsing order Remove todo 20 Remove todo 21 Error handling around missing wait times Clean up TODOs around stall point Clean up catchup related TODOs Remove TODO(30) Remove TODO(31) Remove todos around min validation level Disallow skip values in nomination
Fix `getStatementValues` to extract all values, move validtion relax
285df2f to
1692131
Compare
Contributor
Author
|
I just rebased this on master and force pushed up so we can get a CI run. Ignore the terrible branch name; this is built on top of protocol 26, not 25. |
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.
This is very much a work-in-progress. This is littered with TODOs that I am actively chipping away at. I've opened this draft PR as an easier way to point people towards the prototype as it evolves into a production-ready feature.
I try to keep this branch in a good enough state such that it:
Therefore, I tend to do most work on other branches and merge it in here when ready in larger single commits.
I plan to split this whole thing into multiple smaller PRs when it's time to actually merge it in.