-
Notifications
You must be signed in to change notification settings - Fork 146
fix(dot/sync): rework on bootstrap/tip sync #3227
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
Merged
Merged
Changes from all commits
Commits
Show all changes
188 commits
Select commit
Hold shift + click to select a range
f3eb2eb
wip: implementing a poc around warp sync
EclesioMeloJunior d7c07ef
chore: include informative logs to debug sync
EclesioMeloJunior 428ff13
chore: enable state trace logs and improve error for unfinalized ance…
EclesioMeloJunior 25b30d5
wip: handle workers results
EclesioMeloJunior d05fdec
wip: handling workers results
EclesioMeloJunior 6e272a6
chore: start ignoring peers + use `idleTicker` to check the pool
EclesioMeloJunior 39dd7c3
fix: use buffered channel for taskQueue + wip: implementing tip sync
EclesioMeloJunior fc081e1
chore: enable state/grandpa/digest trace to investigate forced changes
EclesioMeloJunior 7bc8038
chore: making changes to handling forced changes
EclesioMeloJunior 0a27158
chore: reset scheduled changes once a forced change applies
EclesioMeloJunior bf6bb61
chore: rollback basepath
EclesioMeloJunior 59cbaae
chore: wip tip sync
EclesioMeloJunior f9ca5a4
wip: tip sync impl
EclesioMeloJunior f9d7e43
chore: complete tip sync adjusts
EclesioMeloJunior 3ba7e4c
chore: rollback modification on .yml files
EclesioMeloJunior 16e8ee6
chore: rollback modifications to digest pkg
EclesioMeloJunior 3eba164
chore: rollback modification to network pkg
EclesioMeloJunior c30948a
chore: rollback modifications to auth set changes
EclesioMeloJunior 57f433c
chore: remove `internal/sync` pkg
EclesioMeloJunior a76c0e9
chore: remove unneeded comments
EclesioMeloJunior 0bd8505
chore: remove unneeded fields from sync worker
EclesioMeloJunior 5102e62
chore: remove dead code + add errors wrappers
EclesioMeloJunior c13b597
chore: address some points
EclesioMeloJunior f0c667f
chore: fix missing blocks in ascedingBlockRequests
EclesioMeloJunior f3cb072
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 2e640ce
chore: delete chainprocessor.go from merge with development
EclesioMeloJunior 683e331
chore: impl wait/release while validating a worker result
EclesioMeloJunior b3d4c8e
wip: tip sync concurrency for bounded requests
EclesioMeloJunior c446fc0
wip: bounded requests without blocking the task queue listener
EclesioMeloJunior 938d001
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior c8f47fa
chore: use versioned config data + enable traces
EclesioMeloJunior ce40f14
chore: remove state trace
EclesioMeloJunior e33c444
chore: revert changes from `westend-local-spec.json`
EclesioMeloJunior f00a242
chore: enable trace to `sync` and `digest`
EclesioMeloJunior 6e3d2d0
chore: enable pprof to staging env
EclesioMeloJunior 023df2c
chore: use `l.Lock()` instead of `l.RLock()`
EclesioMeloJunior 0f661de
chore: change the worker_pool
EclesioMeloJunior 924d172
chore: small fixes to the `executeRequest` method
EclesioMeloJunior 6b481c1
chore: remove unneeded comment line + improve func name
EclesioMeloJunior 539e092
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 9ae3fcb
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 35c9eea
chore: re-written `Test_chainSync_setBlockAnnounce` test
EclesioMeloJunior 443045c
chore: include a bootstrap sync test with 2 workers
EclesioMeloJunior 2432324
chore: testing successful sync with workers failing
EclesioMeloJunior 5c7f983
chore: adjust mocks
EclesioMeloJunior 17b03b7
chore: avoid ignoring peers whenever we failed to read response bytes
EclesioMeloJunior c9d16ce
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 0f69520
chore: add export comment to `AllConnectedPeers`
EclesioMeloJunior ae202b9
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior e780937
chore: improve readability + ignore peers management
EclesioMeloJunior 4cd4fe5
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior ae8b367
chore: make the peer discovery everytime
EclesioMeloJunior e1b4bd4
chore: use a resource manager to autoscale outbound requests
EclesioMeloJunior a26b845
chore: remove `maxRequestsAllowed` restriction
EclesioMeloJunior e978240
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 90606ab
chore: remove unneeded deltas on westend chain
EclesioMeloJunior 795e1b7
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior bc88064
chore: addressing comments
EclesioMeloJunior 9ae5d5a
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 3103fdb
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 43ba321
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 0e33188
chore: reduce number of max peers
EclesioMeloJunior 6982f2a
chore: make target number clear on `requesting_4_chunks_of_128_plus_3…
EclesioMeloJunior 22f62d7
chore: remove unneeded `blockAnnounceCh`
EclesioMeloJunior 35197c5
chore: reduce the amount of blocks synced at same time
EclesioMeloJunior 576bb72
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 1b991b3
chore: merge development
EclesioMeloJunior c73789a
Merge branch 'development' into eclesio/fix-sync-speed
EclesioMeloJunior d9b5d19
chore: remove unneeded sync files
EclesioMeloJunior 5bc45f9
5fb3070
chore: use highest finalized header instead of best block number
EclesioMeloJunior 6ee8b4a
chore: using finalised header to bootstrap sync
EclesioMeloJunior c7e145b
chore: use a checkpoint header every time we failed to import blocks
EclesioMeloJunior a6086d6
chore: fix `all goroutines are asleep - deadlock` problem
EclesioMeloJunior 19606f1
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 22699e8
chore: fix punishment
EclesioMeloJunior e0ea946
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 845e42e
chore: fix `executeBootstrapSync` tests
EclesioMeloJunior 61c1a51
chore: revert libp2p resource manager additions
EclesioMeloJunior f415b90
chore: rename `AllConnectedPeers` to `AllConnectedPeersID`
EclesioMeloJunior fe132b4
chore: move `ErrReceivedEmptyMessage` to errors file
EclesioMeloJunior 1df21a3
chore: rename `<-done` to `<-stop`
EclesioMeloJunior eeb5118
chore: create `TestSyncWorkerPool_useConnectedPeers` test
EclesioMeloJunior 10dd486
chore: add methods comments
EclesioMeloJunior 9d2b32d
chore: include `TestSyncWorkerPool_newPeer` test
EclesioMeloJunior e59228a
chore: rename `l` to `mtx`
EclesioMeloJunior 3e7f420
chore: remove unneeded variable
EclesioMeloJunior 1959231
chore: add `TestSyncWorkerPool__listenForRequests_submitRequest` test
EclesioMeloJunior 4ea26dc
chore: add `TestSyncWorkerPool_listenForRequests_busyWorkers` test
EclesioMeloJunior a2d45d8
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 7fc622b
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 16de56f
chore: move request message creation to `network` pkg
EclesioMeloJunior 51a78cf
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 3c2b14f
chore: fix tests to use `network.MaxBlockResponseSize`
EclesioMeloJunior beb7f8f
chore: fix lint warns
EclesioMeloJunior 6d7d564
chore: adding license to `worker_pool_test.go`
EclesioMeloJunior 4096823
chore: remove unneeded else branch
EclesioMeloJunior 060dbc6
chore: fix deepsource warns
EclesioMeloJunior dc82d93
chore: wip `announced_block_while_in_tip_mode` test
EclesioMeloJunior 057bacb
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 4a51be3
chore: add `announced_block_while_in_tip_mode` test
EclesioMeloJunior 3d37f61
chore: add `TestChainSync_validateResponse` test
EclesioMeloJunior b09cdaa
chore: fix `validateBlockResponse` checks
EclesioMeloJunior 1a56e6d
chore: solve all tests failures
EclesioMeloJunior 0f43ae4
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 2836777
chore: move worker status update from `defer`
EclesioMeloJunior 55ff3f8
chore: solve `lll` lint wanr
EclesioMeloJunior 9ef76cf
chore: improve code coverage by testing failure scenarios
EclesioMeloJunior 7037924
chore: request missing blocks
EclesioMeloJunior 7bbebfd
chore: punish only if is a best block, ignore key not found
EclesioMeloJunior 2a97b9b
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 83a553d
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 990b9c9
chore: add license
EclesioMeloJunior 3c96c08
chore: remove unneeded nil check and fix `lll` lint warn
EclesioMeloJunior 4047178
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 8d712ca
chore: fix `dot/sync` integration tests
EclesioMeloJunior 22bb4cb
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 4a1905e
chore: fix `TestAscendingBlockRequest` test
EclesioMeloJunior fbaca64
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 9e2acb3
chore: fix `TestNewNode` test
EclesioMeloJunior 1610978
chore: fix `TestStartStopNode` test
EclesioMeloJunior 9f540b9
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior bb6e4d7
chore: include `TestChainSync_BootstrapSync_SucessfulSync_ReceivedPar…
EclesioMeloJunior 4741a28
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior f1f0078
chore: address comments
EclesioMeloJunior b60486b
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 6ba9c73
chore: solve lint warns
EclesioMeloJunior 268f572
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior bf87577
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior d50c7fc
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 7dc13c0
chore: address comments
EclesioMeloJunior d677dc1
chore: change to plural
EclesioMeloJunior 39a52d0
chore: use `WaitGroup` and implement stop timeout
EclesioMeloJunior e20b5d5
chore: change `peerView` to be a value
EclesioMeloJunior 7da5edf
addressing comments
EclesioMeloJunior e6f4792
chore: bounded request retry with the same peer id
EclesioMeloJunior 075882a
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 703bb43
chore: address lint and deepsource comments
EclesioMeloJunior e9e8651
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 15e5454
chore: fix race conditions
EclesioMeloJunior 0263c4d
chore: fix integration test
EclesioMeloJunior 5f73d0a
wip: increase test coverage
EclesioMeloJunior 684e34f
chore: introduce a simple check to ensure chain continuity
EclesioMeloJunior bbe8e07
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 0d0f018
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 0df449a
chore: paralell request stream for each available peer
EclesioMeloJunior 62088eb
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 1bca2c6
chore: remove `sync.Cond`
EclesioMeloJunior 052fd6c
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 0d565d1
chore: recap old implementation with concurrency guard
EclesioMeloJunior b7ec4bb
chore: dont punish a already punished peer
EclesioMeloJunior 2c70646
chore: implement round-robind worker selection and remove sync.Cond c…
EclesioMeloJunior 8282df8
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior fae2f8d
wip: working on tests
EclesioMeloJunior 1893daf
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 2ea02f1
chore: make punishement without stop worker
EclesioMeloJunior 3bf881a
chore: fix lint
EclesioMeloJunior 01530e1
chore: add license
EclesioMeloJunior ab39ccc
chore: change to default values to `westend`
EclesioMeloJunior c6f7c89
chore: fix `chain_sync_test.go`
EclesioMeloJunior 4a8a5a8
chore: include `doResponseGrowsTheChain` tests
EclesioMeloJunior 407a7ed
chore: fix lint warns
EclesioMeloJunior 779d393
chore: fix current tests
EclesioMeloJunior 827e2a7
chore: fix `TestAscendingBlockRequest` to include the start block in …
EclesioMeloJunior 6e3cc99
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 49e0aee
chore: fix lint warn
EclesioMeloJunior 735c461
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior d6416a8
chore: fix `TestAscendingBlockRequest` test failure
EclesioMeloJunior dfd96b9
chore: remove test to ensure which peer receives task
EclesioMeloJunior c738d01
chore: remove hidden goroutine `GO-E1007`
EclesioMeloJunior e2ca0d7
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior 90c6658
chore: update `worker_test.go`
EclesioMeloJunior 1e1f0dc
chore: update `zombienet` github action to go1.20
EclesioMeloJunior 224634a
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior c4efd00
chore: start peer worker from block announce
EclesioMeloJunior edeb27f
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior 9c397ef
Merge branch 'development' into eclesio/fix-bootstrap-sync
EclesioMeloJunior c570e65
chore: address comments
EclesioMeloJunior 5322f6f
Merge branch 'eclesio/fix-bootstrap-sync' of github.com:ChainSafe/gos…
EclesioMeloJunior aeb4b6e
chore: make `processTask` panics if `queue` channel is blocked to write
EclesioMeloJunior ec57baf
chore: randomly assign a task to a peer if none is passed
EclesioMeloJunior fa161b0
chore: fix lint
EclesioMeloJunior d9dafa5
chore: use `crypto/rand`
EclesioMeloJunior 0c97fe0
chore: make tests work
EclesioMeloJunior 198fb18
chore: fix race conditions
EclesioMeloJunior 75799ff
chore: remove unnused fields and remove unneeded error return
EclesioMeloJunior ec34fb5
chore: remove redundant return
EclesioMeloJunior 0bac649
chore: fix zombienet test check
EclesioMeloJunior 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
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.
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.