Commit Graph

578 Commits

Author SHA1 Message Date
terence tsao
f10f87725e
Avoid increment reorg counter twice (#2082) 2019-03-26 17:01:43 -07:00
Preston Van Loon
ac7d5a7780
Update state metrics on save state (#2083)
* Update state metrics on save state

* fix tests
2019-03-26 18:29:45 -05:00
Preston Van Loon
ec41d37cf4
Revert grpc error in db package (#2076)
* Revert "status err code"

This reverts commit 27112ff2841ae7ccfb7d7eca665e06bbad81755d.

* imports
2019-03-26 16:11:21 -05:00
Preston Van Loon
699a8e9087 use a mutex/lock on the attestation store so that it is not being mutated during reads (#2079) 2019-03-26 14:00:49 -07:00
Preston Van Loon
7420fac5fc
Add gRPC prometheus middleware (#2077) 2019-03-26 11:26:47 -05:00
terence tsao
724383751e Helpful Logging for UpdateLatestAttestation (#2078)
* helpful logging for updating latest attestation

* debug over info

* imports
2019-03-26 11:16:36 -05:00
Raul Jordan
a4ea0a1eac
Disable Crosslinks for Testnet (#2075)
* disable crosslinks for testnet

* feature config

* add missing flag

* flag in tests

* fix tests
2019-03-26 10:40:55 -05:00
Raul Jordan
fcc18fac02
Treat Post & Pre-ChainStart Validators Equally in Assignments Fetching (#2074)
* treat post/prechainstart validators equally in assignment fetching

* Update validator/client/fake_validator_test.go

Co-Authored-By: rauljordan <raul@prysmaticlabs.com>

* status err code

* imports

* beyond activation epoch

* assigned to slot log

* gazelle
2019-03-26 09:03:05 -05:00
Nishant Das
0809b96c32 Fixes Initial Sync (#2041)
* plug forkchoice to blockchain service's block processing

* fixed tests

* more fixes...

* clean ups

* fixed test

* Update beacon-chain/blockchain/block_processing.go

* merged with 2006 and started fixing tests

* remove prints

* fixed tests

* lint

* include ops service

* if there's a skip slot, slot--

* fixed typo

* started working on test

* no fork choice in propose

* bleh, need to fix state generator first

* state gen takes input slot

* feedback

* fixed tests

* preston's feedback

* fmt

* removed extra logging

* add more logs

* fixed validator attest

* builds

* fixed save block

* children fix

* removed verbose logs

* fix fork choice

* right logs

* Add Prometheus Counter for Reorg (#2051)

* fetch every slot (#2052)

* test Fixes

* lint

* only regenerate state if there was a reorg

* better logging

* fixed seed

* better logging

* process skip slots in assignment requests

* fix lint

* disable state root computation

* filter attestations in regular sync

* log important items

* better info logs

* added spans to stategen

* span in stategen

* set validator deadline

* randao stuff

* disable sig verify

* lint

* lint

* save only using historical states

* use new goroutine for handling sync messages

* change default buffer sizes

* better p2p

* rem some useless logs

* lint

* sync tests complete

* complete tests

* tests fixed

* lint

* fix flakey att service

* bug fixes

* Update beacon-chain/sync/initial-sync/service.go

* Update beacon-chain/sync/initial-sync/service.go

* reenable shuffle

* enable shuffle
2019-03-25 13:23:57 -05:00
Raul Jordan
053038446c
Allow 8 Validator Multinode Cluster to Run Indefinitely (#2050)
* plug forkchoice to blockchain service's block processing

* fixed tests

* more fixes...

* clean ups

* fixed test

* Update beacon-chain/blockchain/block_processing.go

* merged with 2006 and started fixing tests

* remove prints

* fixed tests

* lint

* include ops service

* if there's a skip slot, slot--

* fixed typo

* started working on test

* no fork choice in propose

* bleh, need to fix state generator first

* state gen takes input slot

* feedback

* fixed tests

* preston's feedback

* fmt

* removed extra logging

* add more logs

* fixed validator attest

* builds

* fixed save block

* children fix

* removed verbose logs

* fix fork choice

* right logs

* Add Prometheus Counter for Reorg (#2051)

* fetch every slot (#2052)

* test Fixes

* lint

* only regenerate state if there was a reorg

* better logging

* fixed seed

* better logging

* process skip slots in assignment requests

* fix lint

* disable state root computation

* filter attestations in regular sync

* log important items

* better info logs

* added spans to stategen

* span in stategen

* set validator deadline

* randao stuff

* disable sig verify

* lint

* lint

* save only using historical states

* use new goroutine for handling sync messages

* change default buffer sizes

* better p2p

* rem some useless logs

* lint

* sync tests complete

* complete tests

* tests fixed

* lint

* fix flakey att service

* PR feedback

* undo k8s changes

* Update beacon-chain/blockchain/block_processing.go

* Update beacon-chain/sync/regular_sync.go

* Add feature flag to enable compute state root

* add comment

* gazelle lint fix
2019-03-25 10:21:21 -05:00
Preston Van Loon
5a1cda482b
add error reporting to spans, remove a few unnecessary spans, add some attribute data to spans (#2056) 2019-03-23 20:54:02 -05:00
shayzluf
6335833c94 Validator: performing for multiple keys - update rpc proto (#2040)
* first version - broken

* Scripts to update mockgen

* working proto changes

* resolve review remarks

* fix goimport issues
2019-03-23 19:46:25 -05:00
Ivan Martinez
ca90acca77 Create feature config for selective testing (#1997)
* Create a feature flagging system

* Refactor how featureflags works and improve docs

* Gazelle and final touches

* Refactor, new flags in the package

* Remove old flags since they have been moved

* Fix bazel

* Update to comments

* Full coverage

* Fix formatting

* Align code with numbers

* Run bazel and fix docs

* Fix test for flag
2019-03-20 22:57:25 -04:00
terence tsao
18bdcedd26
Test on Skip Slot for FFG Check Point (#2049) 2019-03-20 18:57:34 -07:00
Preston Van Loon
b806cd7cf9
State size metric (#1780)
* add metric for state-size

* update comment
2019-03-20 21:29:24 -04:00
terence tsao
92640f9182
Refactor State Gen To Take Input Slot (#2045) 2019-03-20 15:33:31 -07:00
Preston Van Loon
83b00369b4 add regression test (#2046) 2019-03-20 15:19:48 -07:00
terence tsao
0aae75a4e7 Handle skip slots for FFG check points (#2044)
* if there's a skip slot, slot--

* fixed typo
2019-03-20 11:18:55 -06:00
Preston Van Loon
d7291ed123
fix this to the proper message type (#2043) 2019-03-20 11:13:52 -04:00
Preston Van Loon
7f11cbd5ed
print stack trace on panic recovery (#2042) 2019-03-20 10:17:44 -04:00
terence tsao
4a2ef17be1 fixed typo (#2038) 2019-03-20 01:13:14 -04:00
Nishant Das
bb20b3eaad Fix State Pruning (#2034)
* fix pruning

* Update beacon-chain/db/state.go

Co-Authored-By: nisdas <nish1993@hotmail.com>

* fix tests

* fix config params
2019-03-20 00:03:45 -04:00
Preston Van Loon
03dfafcb43
Broadcast attestations (#2035)
* broadcast attestations

* register p2p topics

* handle p2p messages for attestation announcements

* p2p -> P2P

* gazelle

* Remove unused var
2019-03-19 23:54:16 -04:00
Raul Jordan
78acb82182 Broadcast Blocks Before Processing (#2033)
* broadcast before processing

* fix sync
2019-03-19 23:41:38 -04:00
Preston Van Loon
58a13a2eb7 Use imported interfaces in sync package (#2032)
* Fix spans in regular_sync

* more regular sync ctx fixes

* rename

* use more imported interfaces

* add godoc comments
2019-03-19 17:07:49 -06:00
Preston Van Loon
eb080799ec
Fix spans in regular_sync (#2031)
* Fix spans in regular_sync

* more regular sync ctx fixes

* rename
2019-03-19 17:35:01 -04:00
terence tsao
7f5b6eb3fc
Update FFG Check Points During Block Processing (#2006) 2019-03-19 10:16:17 -07:00
terence tsao
fe7be56bec
log db path (#2029) 2019-03-19 10:53:17 -06:00
Preston Van Loon
f44c7082d8
Prevent invalid pending attestations (#1994)
* prevent invalid pending attestations

* no past block

* regress test

* +1

* fix lint

* fix buld

* revert unrelated

* passing tests, still need regression tst
2019-03-19 12:25:34 -04:00
Nishant Das
f801bfedcf Fix State Generator (#2010) 2019-03-18 20:15:50 -06:00
Raul Jordan
7a83acf46d
Improve Validator Logging and Default Flags (#2013)
* improve validator logging significantly

* warn validator not yet assigned to epoch

* build added

* report validator logs

* validator performance logging

* all logging improvements

* validator attest better logs

* improved attester logging

* average balances

* dont hash useless hashes

* Update validator/client/validator_propose.go

Co-Authored-By: rauljordan <raul@prysmaticlabs.com>

* address some comments

* standardize with block root hash32, renamings

* gazelle

* builds

* improve average eth balance

* eth net gains/losses

* fix tests

* spacing

* goimports

* avg balance

* update pbs

* addressed preston comments

* imports

* gazelle
2019-03-18 09:45:28 -06:00
Raul Jordan
a98912ea58
State Transition Configuration Options (#2023)
* logging config options

* tests pass

* better naming

* log proposer idx instead of sig

* log avg balance
2019-03-18 00:19:44 -06:00
Nishant Das
78ff565429
Update Aggregate Attestation (#2004)
* add fixes

* Apply suggestions from code review

Co-Authored-By: nisdas <nish1993@hotmail.com>

* review comments
2019-03-18 11:57:12 +08:00
gzuhlwang
bb1389e362 fix typo (#2005) 2019-03-17 12:35:58 -04:00
Preston Van Loon
612bb38077 Cross p2p spans, more spans, synchronous attestations, minor fixes (#2009)
* Fix assignments bug where validators don't retry for assignments on failure

* synch only please

* trying to fix state issues

* trying random stuff

* do not explode

* use ctx

* working build, failing tests

* broadcast local addrs as well as relay addrs

* fixed p2p tests, more tests to fix still

* another test fixed, log warning instead of throw error

* Fix last tests

* godoc

* add test for broadcast in apply fork choiec

* remove unneeded code

* remove tracer adapter, not needed

* remove extra stuff

* remove any

* revert addr_factory

* revert addr_factory

* Revert "revert addr_factory"

This reverts commit e93fb706494a1070158b8db31e67146d6b0648ad.

* Revert "revert addr_factory"

This reverts commit dedaa405559cc818698870c4e4570953367f1e3c.

* revert removal of this code

* unused param
2019-03-17 10:56:05 +08:00
Nishant Das
04f4a7f156
Add Clear DB Flag (#2002)
* clearDB

* lint
2019-03-15 11:20:49 +08:00
Raul Jordan
f1d77a816e Revert "Update FFG Check Points During Block Processing (#1991)" (#1998)
This reverts commit b1ffc693e0.
2019-03-14 16:05:31 -07:00
Nishant Das
00ca1d7991 Fix Errors with Attestation to Current Chainhead (#1990)
* fix errors

* fix bit check to little endian

* fix all tests
2019-03-14 12:29:44 -04:00
terence tsao
b1ffc693e0 Update FFG Check Points During Block Processing (#1991)
* update FFG check points in service

* where do stategenerators go?

* commented out state_generator_test for now

* moved state generator back to appropiate location

* fixed block processing with state generator

* fmt

* import circle bad commit

* fix

* taking preston's fix

* gaz

* save justified/finalized objs during beacon chain init
2019-03-14 11:22:05 -04:00
Nishant Das
d5c05f083b
add to cache (#1988) 2019-03-14 14:43:39 +08:00
terence tsao
e5f66d0b21
Revert "Update FFG Check Points During Block Processing (#1982)" (#1987)
This reverts commit 2c805b731d.
2019-03-13 21:48:54 -07:00
terence tsao
2c805b731d Update FFG Check Points During Block Processing (#1982)
* update FFG check points in service

* where do stategenerators go?

* commented out state_generator_test for now

* moved state generator back to appropiate location

* fixed block processing with state generator

* fmt

* import circle bad commit

* fix

* taking preston's fix

* gaz
2019-03-14 00:22:47 -04:00
Nishant Das
a2e3ae95ae revert change (#1985) 2019-03-13 20:31:03 -04:00
Raul Jordan
5371218b9b
Refactor ChainService for Receiving Blocks Synchronously (#1984)
* refactor chain service

* restructure service and lint

* all calls to receive block in chain service are now blocking

* begin fixing tests

* refactored blockchain tests

* builds correctly

* blockchain tests pass again

* lint

* sync and rpc tests pass again

* done

* add in open tracing

* span in fork choice

* Update beacon-chain/blockchain/block_processing.go

Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
2019-03-13 17:17:32 -04:00
Raul Jordan
544c040fcb
restructure powchain (#1983) 2019-03-13 16:47:00 -04:00
terence tsao
b89391fcad
DB wrappers for justified and finalized objects (#1978) 2019-03-13 08:12:42 -07:00
Ivan Martinez
84b7c3654b Rename forkutils -> forkutil (#1976) 2019-03-12 16:39:13 -07:00
Nishant Das
000a42deac Make State Requests only Request for Finalized State (#1955)
* remove hash field for state request

* change to finalized state root

* refactor code for bug

* add in saving of finalized state

* add method to db

* adding finalized state root

* add new changes

* add in new changes

* add in return vars

* goimports

* review comments

* error message

* fix broken build

* fix cache state tests

* lint
2019-03-12 16:44:21 -04:00
Ivan Martinez
700264b3c7 Add caching to beacon state DB (#1775)
* Initial addition to cache beacon state

* Add benchmark to tests

* Fix benchmarks

* Fix benchmarks

* Fix caching to requests

* Update to master

* Remove b.N assignments

* Init cache on state init
2019-03-12 15:30:10 -04:00
terence tsao
c320877dea
Part 1 of X - LMD Ghost Benchmark Tests (#1950) 2019-03-12 07:08:13 -07:00