Victor Farazdagi
b51aec6981
Init sync: minor fixes ( #8060 )
...
* fixes typo
* simplify code
2020-12-07 09:33:06 +00:00
Victor Farazdagi
be078d6a16
Update TestMain(): do not call os.Exit() explicitly ( #8046 )
...
* update workspace
* update testmain
2020-12-04 16:10:07 +00:00
Victor Farazdagi
afbfaedea4
Unskip fixed init-sync service test ( #8042 )
2020-12-04 11:57:46 +00:00
Victor Farazdagi
647b4cf108
Round robin: half open interval in syncToFinalizedEpoch ( #8039 )
2020-12-03 21:55:42 +00:00
Victor Farazdagi
7dd0c24fea
Skip bogus init-sync test ( #8038 )
2020-12-03 20:20:04 +00:00
Victor Farazdagi
3092f75ec2
Init sync: conditional syncing to finalized slot ( #7999 )
...
* extract sync methods
* add unit test
* gazelle
* Update beacon-chain/sync/initial-sync/round_robin.go
Co-authored-by: Shay Zluf <thezluf@gmail.com>
* better set back step
Co-authored-by: Shay Zluf <thezluf@gmail.com>
2020-12-03 14:10:51 +00:00
Victor Farazdagi
5417e8cf31
Init-sync: enable peer scorer by default ( #7974 )
...
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-12-03 00:45:20 +00:00
Victor Farazdagi
c7f7a29d7e
remove redundant start slot ( #7991 )
...
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2020-12-02 20:47:39 +03:00
Potuz
9a1423d62d
Log with field error instead of err ( #7998 )
2020-12-01 05:38:42 -08:00
Victor Farazdagi
54a42ce4a8
more robust processing of invalid head slot ( #7990 )
2020-11-29 15:03:25 -06:00
Victor Farazdagi
f361450e8d
Update TestMain() to use os.Exit() ( #7814 )
...
* update TestMain
* fix sync/initial-sync test
* restore code in rate limiter
* fix rate_limiter tests
2020-11-13 18:28:14 -08:00
Raul Jordan
4290ba416c
Fix Prysm Runtime Data Races ( #7770 )
...
* handle state trie data races
* race fixes
* added proper locks
* fix gaz
* use thread-safe refs() function
2020-11-10 20:57:07 -06:00
Victor Farazdagi
09e3f0360e
Remove redundant calls to os.exit() in TestMain ( #7761 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-11-10 14:56:47 +00:00
Victor Farazdagi
51796d77f6
Init-sync: backtracking to alternative forks ( #7564 )
...
* cherry-pick from previous commits
* use finalized checpoint instead of head slot
* add helpers
* add dedicated error for missing blocks
* add backtracking options to fetcher
* TestBlocksFetcher_alternativeSlotBefore regression test
* update peer block provider test
* update injected deps
* update round robing deps
* update fetcher
* patch status and stream handlers
* test template
* gazelle
* revert BestNonFinalized changes
* extract waitForBandwidth method
* extend test
* remove redundant code
* add flag
* update queue
* update thresholds
* upd inequality
* minor cleanup
* check for mode
* add backtracking queue test
* merge from master
* remove redundant test
* correct logging level
* fix tests
* remove test template
* Nishant's suggestion to parametrize magic number
2020-11-06 15:54:20 +00:00
Victor Farazdagi
6e21b7a623
Add one more assertion to fetcher test ( #7733 )
2020-11-05 19:48:49 +00:00
Victor Farazdagi
f6cbfd5e27
Init-sync fetcher: backtracking ( #7704 )
...
* fetcher: backtracking
* gazelle
* amend comments
* cleanup
* cleanup
* minor fixes
* simplify
* remove unrelevant test
* add TestBlocksFetcher_findAncestor
* more tests
* Address Nishant's feedback
* optimize backtracking
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-11-05 07:27:46 +00:00
Victor Farazdagi
c5a8363998
Remove redundant error return from filterPeers() ( #7730 )
2020-11-04 23:29:50 +00:00
Victor Farazdagi
7acd73e1fe
Refactor p2p requests: extract BeaconBlocksByRangeRequest and BeaconBlocksByRootRequest ( #7718 )
...
* extract SendBeaconBlocksByRangeRequest
* adds extra processing
* extract SendBeaconBlocksByRootRequest
* extract into rpc_send_request.go
* add tests
* more tests
* gazelle
* remove redundant import
* for consistency
* for consistency
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-11-04 20:09:19 +00:00
Victor Farazdagi
926d3b9b34
Init-sync: more tests + minor refactoring ( #7692 )
...
* cherry-pick commits
* re-arrange calls
2020-10-31 21:33:57 +00:00
Nishant Das
df762bbfee
cleaner logging ( #7689 )
2020-10-31 19:10:08 +08:00
Victor Farazdagi
4fc0a50569
Turn init-sync FSM logs to trace level ( #7670 )
...
* trace
* go fmt
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2020-10-29 04:55:07 +00:00
Preston Van Loon
fcbb168c76
Code health: review map usage ( #7635 )
...
* remove unused cache states map
* correct typo
* Remove unused array
* Add lock around deposits cache chainstart pubkeys
* Copy attestation before grabbing lock. This may reduce lock contention time as other callers wanting the lock do not need to wait as long for the lock to become available.
* Copy attestation before grabbing lock. This may reduce lock contention time as other callers wanting the lock do not need to wait as long for the lock to become available.
* Set capacity to 1 since it is known that the slice will be 1 after insertion
* require validatorSlashingPreconditionCheck caller to hold lock
* Add lock for voluntary exits pool HasBeenIncluded
* Require rate limiter retrieveCollector to hold lock
* Add lock requirement assertions in sync
* Remove unused struct
* remove ClearCachedStates API
* field initSyncState is unused
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2020-10-26 21:17:07 +00:00
Victor Farazdagi
e6d688f6d5
Init-sync: re-arrange tests ( #7641 )
...
* move tests
* formatting
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-26 08:54:06 +00:00
Victor Farazdagi
8a3b75e9e3
Update init-sync FSM ( #7640 )
...
* update fsm
* more tests
2020-10-26 05:26:35 +00:00
Radosław Kapka
7e2112b4ba
Fix panic issues on beacon node shutdown ( #7625 )
...
* allow service cleanup on node shutdown
* revert error to fatal
* remove unused struct field
2020-10-23 12:43:48 +00:00
Victor Farazdagi
0b53a89d00
More verbose output on init-sync ( #7578 )
...
* more verbose output on init-sync
* log slot
* no error stack
* remove redundant data
* less verbose
2020-10-20 14:59:38 +00:00
terence tsao
7076a1ec4a
More feature flag deletions ( #7533 )
...
* Delete disable state lock and init sync verbose flags
* Delete disable slashing broadcast
* Remove disable wait for sync, noise, eth1 cache, static subnet
* Remove enable broadcast recovery attemp and make it as default
* Remove disable head update on per attestation
* Revert disable att braodcast discovery attempt
* gazelle
* Fixed an anti pattern
* Add enableAttBroadcastDiscoveryAttempts back
* Add back WaitForSync
* Remove extra lines
* Use DisableDynamicCommitteeSubnets path per @prestonvanloon feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-14 23:28:49 +00:00
Victor Farazdagi
a005c77b3f
Update error usage patterns to go1.13+ ( #7529 )
...
* rely on errors.Is
* wrap errors
2020-10-14 17:39:52 +00:00
terence tsao
8f04c555fc
More feature flags removal ( #7526 )
...
* Remove disable domain cache
* Remove don't verify att sig flag
* Remove batch verify and attester copies
* Remove batch verify usage
* Update tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-14 16:18:40 +00:00
Nishant Das
022b6667e5
Use Custom SSZ for P2P Types ( #7436 )
...
* checkpoint progress
* add roundtrip tests
* change all
* remove error response
* clean up
* Update beacon-chain/sync/error_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* gaz
* fix tests
* fmt
* gaz
* change back
* fix again
* clean up
* deep source
* fix all tests
* add gaz
* fix tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2020-10-14 07:55:28 +00:00
Victor Farazdagi
b9844024b4
Update comments describing init-sync process ( #7521 )
...
* updates comments
* fetcher mode from config
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-14 01:44:46 +00:00
Victor Farazdagi
ac1a4a078c
Fix reported anti patterns ( #7501 )
...
* merge var decl
* single append
* replace bytes.Compare -> bytes.Equal
* remove redundant spritnf
* remove redundant spritnf
* trimprefix
* remove redundant nil check
* remove redundant return
* plain channel or unblock on context closing
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-12 16:12:00 +00:00
Nishant Das
43765b5cb0
Register Subscribers After Node Is Synced ( #7468 )
...
* wait for synced
* fix again
* add test
* fix all
* fixes deepsource reported issue
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
2020-10-10 16:50:28 +08:00
Victor Farazdagi
d98a6dda8f
Verify interface compliance using typed nil instead of dereferencing and conversion ( #7489 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-10 00:36:48 +00:00
Victor Farazdagi
f92244d497
Remove redundant err checking ( #7488 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-09 23:39:23 +00:00
Victor Farazdagi
9ce64e2428
Refactor peer scorer into peerdata
+ scorers
( #7452 )
...
* updates comment
* manager -> service
* rename receiver
* refacgtor bad_responses
* refactor store
* update status service
* extends data service
* status service test
* refactor block provider scorer
* misc updates
* fix tests
* data -> peerdata
* gazelle
* peerdata/store test
* limit the visibility scope
* Nishant's suggestion
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-07 13:08:51 +00:00
Radosław Kapka
3e0b20529b
Miscellaneous code quality improvements ( #7414 )
...
* anti-patterns
* performance issues
* handle skipped defer
* gazelle fix
* misc bug risks
* make logging of proposer slashings more robust
* simplify calling span.End()
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-10-04 15:03:10 +00:00
Victor Farazdagi
d169b490fa
Fix ineffectual assignments ( #7403 )
...
* update rpc/beacon
* more fixes to beacon-chain/rpc
* update beacon-chain/sync
* Merge refs/heads/master into fix-ineffectual-assignments
* updates beacon-chain/p2p
* Merge branch 'fix-ineffectual-assignments' of github.com:prysmaticlabs/prysm into fix-ineffectual-assignments
* update beacon-chain/*
* fix imports
* update beacon-chain/blockchain
* more updates
* Merge refs/heads/master into fix-ineffectual-assignments
* Merge branch 'master' into fix-ineffectual-assignments
* Merge refs/heads/master into fix-ineffectual-assignments
* next round of updated
* Merge branch 'fix-ineffectual-assignments' of github.com:prysmaticlabs/prysm into fix-ineffectual-assignments
* wrap up remaining items
2020-10-01 18:53:36 +00:00
Victor Farazdagi
4aea039324
Remove unused constant in round robin ( #7402 )
...
* remove unused constant
2020-10-01 13:02:47 +00:00
terence tsao
68d0c09daf
Add, use and test VerifyWeakSubjectivityRoot
( #7344 )
...
* Add, use and test `VerifyWeakSubjectivityRoot`
* Comments
* Make bazel test happy
* Merge branch 'master' into verify-ws
* Add flag to help
* Merge branch 'verify-ws' of github.com:prysmaticlabs/prysm into verify-ws
* Merge refs/heads/master into verify-ws
* Merge refs/heads/master into verify-ws
* Merge refs/heads/master into verify-ws
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-ws
* Update beacon-chain/blockchain/service.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/blockchain/weak_subjectivity_checks.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Merge branch 'verify-ws' of github.com:prysmaticlabs/prysm into verify-ws
* s/&&/|| for VerifyWeakSubjectivityRoot circuit breaker
* Merge refs/heads/master into verify-ws
* Merge refs/heads/master into verify-ws
2020-09-26 08:04:07 +00:00
Victor Farazdagi
5b814009fa
Improves test coverage of init-sync queue ( #7320 )
...
* basic invariants for all state transition handlers
* TestBlocksQueue_onCheckStaleEvent extended
* TestBlocksQueue_onScheduleEvent extended
* TestBlocksQueue_onDataReceivedEvent extended
* removes redundant ctx setting
* TestBlocksQueue_onReadyToSendEvent extended
* TestBlocksQueue_onProcessSkippedEvent extended
* test to highest slot update
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-09-24 21:39:46 +08:00
Victor Farazdagi
3621b2ff25
Better naming for constructor funcs ( #7316 )
...
* sync/initial-sync
* NewBeaconClientService -> NewService
* NewSlashingProtectionService -> NewService
* NewPrometheusService -> NewService
* NewColdStartService -> NewService
* NewRegularSync -> NewService
* NewDetectionService -> NewService
* NewWallet -> New
* NewKeystore -> New
* Merge branch 'master' into better-naming
* Merge branch 'master' into better-naming
* NewDepositCache -> New
2020-09-23 08:59:49 +00:00
Victor Farazdagi
1ce7cd5f50
Init sync: minor refactoring and more tests for Service ( #7286 )
...
* removes redundant code
* removes redundant code
* removes redundant db
* removes redundant p2p
* servive - test future genesis
* more tests for service.Start()
* service - already synced test
* Merge branch 'master' into init-sync-more-service-tests
* Merge branch 'master' into init-sync-more-service-tests
* NewInitialSync to New (avoid stutter)
* TestService_markSynced
* more assertions
* TestService_Resync
* renames test
* Merge branch 'master' into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge branch 'master' into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge branch 'master' into init-sync-more-service-tests
* fixes e2e test
* Merge branch 'init-sync-more-service-tests' of github.com:prysmaticlabs/prysm into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* New -> NewInitialSync
2020-09-23 07:24:33 +00:00
Nishant Das
719e99ffd9
Replace Roughtime With Timeutils Across Prysm ( #7301 )
...
* remove roughtime
* change all references
* rename
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-09-22 19:49:58 +08:00
Victor Farazdagi
7545d3f2b3
Init sync refactor state initialization check + tests ( #7285 )
...
* refactor state initialization into waitForStateInitialization
* more tests
* redundant blank line
* Merge branch 'master' into init-sync-refactor-state-init
* moves comment up
* Nishant's suggestions + bit more refactoring
* Explicitly process error (Nishant's suggestion)
2020-09-21 12:20:26 +00:00
terence tsao
dcdf5d0eac
Add and verify weak-subjectivity-checkpoint
flag ( #7256 )
...
* Handle weak subjectivity input
* Typo
* Feedbacks
* Better error string @rauljordan
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-09-17 14:32:40 -05:00
Nishant Das
a335bbbb61
Add Flag To Disable Initial Sync ( #7258 )
...
* add new flag
* terence's review
2020-09-17 06:11:21 +00:00
Preston Van Loon
a74cf5de90
Replace context.Background() with more appropriate context ( #7136 )
...
* Replace context.Background() with more appropriate context
* replace a few context.TODO
* Merge refs/heads/master into fix-ctx
* Update validator/accounts/v2/accounts_create.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Fix tests
* fix stream tests
* gofmt
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* fix conflicts and remove ctx background uses
* fix broken test
* Merge branch 'master' into fix-ctx
* imports
* Merge branch 'fix-ctx' of github.com:prysmaticlabs/prysm into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* fix conflicts
* Merge refs/heads/master into fix-ctx
* fmt
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* Merge refs/heads/master into fix-ctx
* fixes tests
2020-09-09 09:48:52 +00:00
Victor Farazdagi
8baa22f065
Fix unclosed tickers/timers ( #7190 )
...
* fix resource leak
* fixes leak in blocks fetcher
* client/validator release ticker resorces
* powchain, more straightforward ticker closing
* adds missing ticker.stop() calls
* more straightforward ticker closing
* Merge refs/heads/master into fix-unclosed-tickers-timers
* Merge refs/heads/master into fix-unclosed-tickers-timers
* Merge refs/heads/master into fix-unclosed-tickers-timers
* gofmt issues introduced in https://github.com/prysmaticlabs/prysm/pull/7176
2020-09-08 18:05:38 +00:00
terence tsao
e6277ec536
Revert 6966 ( #7178 )
...
* revert 6966
* Fix build
2020-09-04 12:25:42 -05:00