Commit Graph

78 Commits

Author SHA1 Message Date
William Banfield b2502b5e53 tooling: use go version 1.16 as minimum version (#6642) 2021-07-02 14:39:50 -04:00
Marko 0e9bec1b53 pkg: expose p2p functions (#6627)
## Description

Expose p2p functions for use in the sdk. 

These functions could also be copied over to the sdk. I dont have a preference of which is better.
2021-07-02 15:04:42 +00:00
Callum Waters 74af343f28 statesync: tune backfill process (#6565)
This PR make some tweaks to backfill after running e2e tests:
- Separates sync and backfill as two distinct processes that the node calls. The reason is because if sync fails then the node should fail but if backfill fails it is still possible to proceed.
- Removes peers who don't have the block at a height from the local peer list. As the process goes backwards if a node doesn't have a block at a height they're likely pruning blocks and thus they won't have any prior ones either. 
- Sleep when we've run out of peers, then try again.
2021-06-11 15:26:18 +00:00
Callum Waters 2c81638787 e2e: fix looping problem while waiting (#6568) 2021-06-11 14:47:55 +02:00
Callum Waters 6f6ac5c04e state sync: reverse sync implementation (#6463) 2021-06-08 19:23:52 +02:00
Sam Kleinman a855f96946 p2p: renames for reactors and routing layer internal moves (#6547) 2021-06-08 08:17:09 -04:00
Marko 7cc32f3f0f docs: logger updates (#6545)
## Description

Update for logging changes
2021-06-07 13:31:02 +00:00
Aleksandr Bezobchuk 3635c7a382 logger: refactor Tendermint logger by using zerolog (#6534) 2021-06-07 08:30:48 -04:00
Sam Kleinman 00c284d9d7 node: change package interface (#6540) 2021-06-04 11:36:30 -04:00
Aleksandr Bezobchuk 1e4bc04cd6 mempool: v1 implementation (#6466) 2021-06-01 11:17:45 -04:00
Sam Kleinman 7bf84d9d7f config: seperate priv validator config into seperate section (#6462)
Addresses a beginning component of #6255
2021-05-31 13:16:46 +00:00
Sam Kleinman e2a26c732c e2e: prevent non-viable testnets (#6486) 2021-05-24 14:10:56 -04:00
Sam Kleinman fa891c5a4b node: cleanup pex initialization (#6467) 2021-05-14 10:05:59 -04:00
Callum Waters a91680efee test: create common functions for easily producing tm data structures (#6435) 2021-05-07 17:00:02 +02:00
Callum Waters ec5e3b0b02 p2p: wire pex v2 reactor to router (#6407) 2021-05-05 18:46:51 +02:00
Aleksandr Bezobchuk 09a6ad7b1e types: Refactor EventAttribute (#6408) 2021-04-30 09:27:51 -04:00
Callum Waters 3c50c5a845 github actions: fix e2e-nightly-master.yml (#6398) 2021-04-28 12:22:18 +02:00
Callum Waters be2ac87ab0 e2e: split out nightly tests (#6395) 2021-04-27 21:34:08 +02:00
Callum Waters 5bafedff17 evidence: fix bug with hashes (#6375) 2021-04-21 18:50:39 +02:00
Sam Kleinman d36a5905a6 statesync: improve e2e test outcomes (#6378)
I believe that this, in my testing seems to help the e2e state-sync
tests complete more reliably, by fixing some potential, range-related
slice building, as well as the way the test app hashes snapshots.

Additionally, and I'm not sure if we want to do this, but I added this
hook to the reactor that re-sends the request for snapshots during the
retry. This helps in tests prevent systems from getting stuck, but I
think in reality, it might create more traffic, and operators would
just restart a state-syncing node to get a similar effect.
2021-04-21 16:00:15 +00:00
Callum Waters 8e8de2b2fb node: use db provider instead of mem db (#6362) 2021-04-16 19:07:18 +02:00
Sam Kleinman 4d03d7516b test/e2e: produce structured reporting from benchmarks (#6343) 2021-04-14 10:12:46 -04:00
Aleksandr Bezobchuk 47b28fd6aa p2p: minor cleanup + update router options (#6353) 2021-04-14 09:35:43 -04:00
Callum Waters 2b8aa65e4f e2e: tx load to use broadcast sync instead of commit (#6347) 2021-04-13 17:59:15 +02:00
Sam Kleinman 0f41f7465c p2p: extend e2e tests for new p2p framework (#6323) 2021-04-08 11:09:21 -04:00
Callum Waters 358d1a28b8 node: remove mode defaults. Make node mode explicit (#6282) 2021-04-02 09:31:25 +02:00
Callum Waters cbae3613dd e2e: add evidence generation and testing (#6276) 2021-03-29 20:00:20 +02:00
Aleksandr Bezobchuk a554005136 p2p: revised router message scheduling (#6126) 2021-03-25 16:58:46 -04:00
Callum Waters 7d53cb232c e2e: fix perturbation of seed nodes (#6272) 2021-03-25 15:50:27 +01:00
Aleksandr Bezobchuk 003f394512 rpc: index block events to support block event queries (#6226) 2021-03-22 11:47:35 -04:00
Callum Waters 9f7051d38a node: implement tendermint modes (#6241)
Co-authored-by: dongsam <dongsamb@gmail.com>
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2021-03-18 11:17:53 +01:00
Callum Waters fa781e6bb7 e2e: fix light client generator (#6236) 2021-03-15 13:04:33 +01:00
Callum Waters 6b4024ad75 fix e2e app test (#6223) 2021-03-10 10:32:51 +01:00
Callum Waters 418e2c140f e2e: integrate light clients (#6196) 2021-03-05 14:24:45 +01:00
Callum Waters 0566bea8b2 e2e: add benchmarking functionality (#6210) 2021-03-05 13:26:18 +01:00
Aleksandr Bezobchuk be88fd3e63 mempool/rpc: log grooming (#6201) 2021-03-03 19:45:35 -05:00
Callum Waters cab10db725 e2e: adjust timeouts to be dynamic to size of network (#6202) 2021-03-03 18:41:07 -05:00
Marko e2384a00ce privval: return errors on loadFilePV (#6185)
## Description

- return errors on `loadFilePv`

closes #6182
2021-03-01 09:10:09 +00:00
Anton Kaliaev e9e5026dac rpc/client/http: drop endpoint arg from New and add WSOptions (#6176)
also

- replace `MaxReconnectAttempts`, `ReadWait`, `WriteWait` and `PingPeriod` options with `WSOptions` in `WSClient` (rpc/jsonrpc/client/ws_client.go).
- set default write wait to 10s for `WSClient`(rpc/jsonrpc/client/ws_client.go)
- unexpose `WSEvents`(rpc/client/http.go)

Closes #6162
2021-02-25 06:57:31 +00:00
Erik Grinaker b6be889b97 node: feature flag for legacy p2p support (#6056) 2021-02-16 11:57:16 -05:00
Callum Waters d4b04776bd e2e: disconnect maverick (#6099) 2021-02-11 15:09:57 -05:00
Callum Waters 162f67cf26 correct spelling to US english (#6077) 2021-02-11 18:59:18 +01:00
Erik Grinaker 5f88d6aa44 test/e2e: increase validator tolerances (#6037) 2021-02-02 16:41:27 +00:00
Erik Grinaker 3d01d98f67 test/e2e: increase sign/propose tolerances (#6033)
E2E tests often fail because validators miss signing or proposing blocks. Often this is because e.g. there's a lot of disruption in the network or it takes a long time to start up all the nodes.

This changes the test criteria to only check for 3 signed/proposed blocks, rather than a fraction of the expected blocks. This should be enough to catch most issues, apart from performance problems causing nodes to miss signing/proposing, but we may want separate tests for those sorts of things.
2021-02-02 12:43:08 +00:00
Anton Kaliaev b1646e51e2 test/e2e: enable pprof server to help debugging failures (#6003) 2021-01-28 15:21:07 +00:00
Anton Kaliaev a54f1544f8 .github: rename crashers output (fuzz-nightly-test) (#5993) 2021-01-28 19:12:48 +04:00
Aleksandr Bezobchuk bd8a9372d2 consensus: Groom Logs (#5917)
Executed a local network using simapp and looked for logs that seemed superfluous. This isn't by any means an exhaustive grooming, but should drastically help legibility of logs.


ref: #5912
2021-01-27 20:53:24 +00:00
Callum Waters aecfb0ecf0 e2e: add control over the log level of nodes (#5958) 2021-01-25 17:20:39 +01:00
Erik Grinaker 66ba12d9bc test/e2e: tolerate up to 2/3 missed signatures for a validator (#5878)
E2E tests often fail due to fast sync stalls causing the validator to miss signing blocks. This increases the tolerance for missed signatures to 2/3 to allow validators to spend more time starting up.
2021-01-08 11:06:51 +00:00
Marko 09cf0bcb01 privval: add grpc (#5725)
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
2021-01-06 10:49:30 -08:00