-
Notifications
You must be signed in to change notification settings - Fork 203
Improve BFT resilience of BlockBuffer stores #8196
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
jordanschalm
wants to merge
42
commits into
master
Choose a base branch
from
jord/8170-ln-perm-block-buffer
base: master
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.
+1,130
−553
Open
Changes from 36 commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
e6b4e8c
make Proposal type generic
jordanschalm 880557b
make Buffer definition generic to both proposal types
jordanschalm 09eb86c
use leveled forest for block buffer
jordanschalm 46000ac
add docs, todos
jordanschalm d54e974
ai: remove bool return from pending blocks
jordanschalm 9530e1e
ai: remove DropByParent method
jordanschalm 7235f7a
update mocks
jordanschalm e3acbf0
add lower view boundary
jordanschalm 56be6f0
update comments
jordanschalm 760434b
add mutex
jordanschalm 99b181f
check retained level error
jordanschalm 3ab8dd5
add missing return
jordanschalm a4529e8
update buffer
jordanschalm b281bc0
update mocks
jordanschalm 5dbfe91
fix tests for signature change
jordanschalm 39f010a
bug: forest can get child count for nonextnt node
jordanschalm 49a196b
ai: add tests for pending blocks suite
jordanschalm b3b1460
adjust tests
jordanschalm beec64c
remove old buffer backend
jordanschalm e813f5c
ai: add threshold also to mempool
jordanschalm e1bed68
ai: address lint errors
jordanschalm 718a820
Apply suggestion from @jordanschalm
jordanschalm 846a5f8
Merge branch 'master' into jord/8170-ln-perm-block-buffer
jordanschalm 292a175
Merge branch 'master' into jord/8170-ln-perm-block-buffer
jordanschalm acccf49
Use HashablePayload as base generic type parameter
tim-barry 7f89681
Merge pull request #8248 from onflow/tim/8196-refactor-generic-types-…
jordanschalm e21fa82
Merge branch 'master' into jord/8170-ln-perm-block-buffer
jordanschalm 37c9569
Changed how compliance engine treats blocks in the cache. Updated godoc
durkmurder 8fb4c54
Merge branch 'master' of https://github.com/onflow/flow-go into jord/…
durkmurder 5108c97
documentation extensions
AlexHentschel d350dbe
Merge branch 'master' into jord/8170-ln-perm-block-buffer
durkmurder df61acd
Fixed initialization for PendingClusterBlocks
durkmurder 5279647
Merge branch 'master' of https://github.com/onflow/flow-go into jord/…
durkmurder b001e9b
Updated godoc
durkmurder 3326e63
Updated pending blocks buffer to store one proposal per view
durkmurder cb267a5
Moved validation of proposal before adding it to the cache
durkmurder cffc38d
Fixed tests. Updated godoc
durkmurder ad038a3
Merge branch 'master' of https://github.com/onflow/flow-go into jord/…
durkmurder ac0cdb2
Added test to ensure that we indeed store single proposal per view
durkmurder bee053b
Updated godoc
durkmurder 9e7ec7e
Updated godoc
durkmurder 923770b
Changed how already pending proposals are handled by the compliance e…
durkmurder 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
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
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
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
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
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
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.
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.
Removing this line is causing the integration test failure. We assume that
c.pendingonly includes blocks that have not been processed and added to our local state. However, with the change in this PR, we retain blocks until their view is finalized.Specific problematic case:
There are blocks like
A<-B<-C.flow-go/engine/consensus/compliance/core.go
Line 203 in e813f5c
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.
37c9569