-
Notifications
You must be signed in to change notification settings - Fork 867
consensus: persist AppQC, blocks, and CommitQCs with async persistence #2896
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
Open
wen-coding
wants to merge
48
commits into
main
Choose a base branch
from
wen/persist_appqc_and_blocks
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
f0c3418
Port sei-v3 PR #512: persist AppQC and blocks to disk
wen-coding 7071384
Refactor: extract loadPersistedState from NewState
wen-coding 5444e65
Refactor: move block sorting and gap handling into persist layer
wen-coding 91078d8
Fix goimports formatting in avail/state.go
wen-coding 284d29b
Async block persistence: move fsync off the critical path
wen-coding 7edd471
Derive persistEnabled from loaded instead of extra arg
wen-coding 2f0bbad
Move blockPersisted init next to block restoration in newInner
wen-coding 869066f
Fix NewState call sites after rebase: add persistence dir arg
wen-coding 4157de8
Merge branch 'main' into wen/persist_appqc_and_blocks
wen-coding 933afaa
Merge remote-tracking branch 'origin/main' into wen/persist_appqc_and…
wen-coding bed6824
Encapsulate async block persistence in BlockPersister
wen-coding a7b9650
Merge branch 'wen/persist_appqc_and_blocks' of github.com:sei-protoco…
wen-coding 588b294
Merge remote-tracking branch 'origin/main' into wen/persist_appqc_and…
wen-coding fbac226
simplify blockPersisted initialization in newInner
wen-coding b08698d
improve persistence tests and comments
wen-coding fafc051
remove stringly-typed error assertions in avail tests
wen-coding 2dd5306
move persistence watermark tracking into BlockPersister
wen-coding a658e5b
clarify Queue comment: stall is until restart, not permanent
wen-coding ec33acb
clean up orphaned block files from previous committees
wen-coding 7d71dac
remove stringly-typed assertion in consensus test
wen-coding de0a944
Merge remote-tracking branch 'origin/main' into wen/persist_appqc_and…
wen-coding a04ef1c
document WAL migration plan in blocks.go
wen-coding d5f3f40
address reviewer feedback: rename persistence cursors, use Option, us…
wen-coding 9b4f9c3
make Persister generic: Persister[T proto.Message] interface
wen-coding a61ab55
address reviewer feedback: use Option for blockPersist, log persisten…
wen-coding 5da8458
simplify PersistBlock/Queue API: extract lane and block number from p…
wen-coding 6d7ab36
replace onPersisted callback with AtomicSend tips in BlockPersister
wen-coding d1ed789
unexport A/B suffixes; extract newState constructor for test injection
wen-coding ce04946
make DeleteBefore async: route cleanup through Run() via the persist …
wen-coding 05110d6
return lane firsts map from prune() instead of bool
wen-coding 1581831
remove unnecessary IgnoreAfterCancel around bp.Queue()
wen-coding 00b68e8
move AppQC persistence out of inner lock into async goroutine
wen-coding 2133804
replace blocking queue with goroutine that reads inner.blocks directly
wen-coding da11eb0
persist CommitQCs to disk for fast restart recovery
wen-coding f95bcc1
use inner.prune() for init; newInner returns error
wen-coding 796faf9
Merge branch 'main' into wen/persist_appqc_and_blocks
wen-coding 72fcbf5
fix persist goroutine race: clamp cursors past pruned entries
wen-coding 27ec1ec
add queue.reset(); use it instead of prune() on fresh queues in newInner
wen-coding 4bdd6f6
refactor persist goroutine into persistLoop and collectPersistBatch
wen-coding c2caac4
Merge branch 'main' into wen/persist_appqc_and_blocks
wen-coding f3fb718
group persisters into single Option; error on non-consecutive commitQCs
wen-coding d8664ef
encapsulate persistence into persisters.run(); inline persistLoop
wen-coding 9e97d47
make persisters a pure I/O struct; move orchestration to State.Run()
wen-coding 1f753f1
simplify prune() to return (bool, error) instead of laneFirsts map
wen-coding 1efb09e
persist AppQC after CommitQCs in the same goroutine
wen-coding 960a3ce
gate consensus on CommitQC persistence before advancing view
wen-coding 99458d7
Merge branch 'main' into wen/persist_appqc_and_blocks
wen-coding 14e1421
fix stale comment: AppQC is now persisted in the same goroutine
wen-coding File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.