Commit Graph

9029 Commits

Author SHA1 Message Date
Erik Grinaker 3a4a6ae9ac test: add E2E test for node peering (#5465)
This was a missing test case from the old P2P tests removed in #5453, which makes sure that all nodes are able to peer with each other regardless of how they discover peers.

Fixes #2795, since the default CI testnet uses a combination of (partially meshed) persistent peers and PEX-based seed nodes.
2020-10-22 13:36:08 +02:00
Erik Grinaker 4462e2697c test: remove P2P tests (#5453) 2020-10-22 13:36:08 +02:00
Erik Grinaker 0003aabe65 circleci: remove Gitian reproducible_builds job (#5462) 2020-10-22 13:36:08 +02:00
Erik Grinaker 4b3565fcaa test: add GitHub action for end-to-end tests (#5452)
Partial fix for #5291.
2020-10-22 13:36:08 +02:00
Erik Grinaker 64b0f5b363 test: add basic end-to-end test cases (#5450)
Partial fix for #5291.

This adds a basic set of test cases for core network invariants. Although small, it is sufficient to replace and extend the current set of P2P tests. Further test cases can be added later.
2020-10-22 13:36:08 +02:00
Erik Grinaker a58454e788 test: add end-to-end testing framework (#5435)
Partial fix for #5291. For details, see [README.md](https://github.com/tendermint/tendermint/blob/erik/e2e-tests/test/e2e/README.md) and [RFC-001](https://github.com/tendermint/tendermint/blob/master/docs/rfc/rfc-001-end-to-end-testing.md).

This only includes a single test case under `test/e2e/tests/`, as a proof of concept - additional test cases will be submitted separately. A randomized testnet generator will also be submitted separately, there a currently just a handful of static testnets under `test/e2e/networks/`. This will eventually replace the current P2P tests and run in CI.
2020-10-22 13:36:08 +02:00
QuantumExplorer 1b733ea28d fix a few typos (#5402) 2020-10-22 13:36:08 +02:00
Marko 41ab199378 blockchain/v1: add noBlockResponse handling (#5401)
## Description

Add simple `NoBlockResponse` handling to blockchain reactor v1. I tested before and after with erik's e2e testing and was not able to reproduce the inability to sync after the changes were applied

Closes: #5394
2020-10-22 13:08:12 +02:00
Marko 0f3b49a915 ci: docker remove circleci and add github action (#5551) 2020-10-22 12:39:27 +02:00
Anton Kaliaev 55ff694aa6 light/rpc: fix ABCIQuery (#5375)
Closes #5106
2020-10-22 12:17:53 +02:00
Anton Kaliaev 406dd74220 light: cross-check the very first header (#5429)
Closes #5428
2020-10-22 12:17:53 +02:00
Callum Waters c374fc010a cli: light home dir should default to where the full node default is (#5392) 2020-10-22 12:17:53 +02:00
Callum Waters 3822ab924e simplify commit and validators rpc calls (#5393) 2020-10-22 12:17:53 +02:00
Erik Grinaker 7c17fa115a consensus: open target WAL as read/write during autorepair (#5536) (#5547)
Fixes #5422. That turned out to be a whole lot easier than expected.

Backport of #5536.
2020-10-21 18:24:38 +02:00
dependabot[bot] a3fadb7c1a build(deps): bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.7 to 1.0.8.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.7...e3c371c731b2f494f856dc5de7f61cea4d519907)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-21 13:15:32 +02:00
Anton Kaliaev 020edbc11d blockchain/v2: fix panic: processed height X+1 but expected height X (#5530)
Before: scheduler receives psBlockProcessed event, but does not mark block as processed because peer timed out (or was removed for other reasons) and all associated blocks were rescheduled.

After: scheduler receives psBlockProcessed event and marks block as processed in any case (even if peer who provided this block errors).

Closes #5387
2020-10-21 13:28:41 +04:00
Anton Kaliaev 79d535dd67 blockchain/v2: fix "panic: duplicate block enqueued by processor" (#5499)
When a peer is stopped due to some network issue, the Reactor calls scheduler#handleRemovePeer, which removes the peer from the scheduler. BUT the peer stays in the processor, which sometimes could lead to "duplicate block enqueued by processor" panic WHEN the same block is requested by the scheduler again from a different peer. The solution is to return scPeerError, which will be propagated to the processor. The processor will clean up the blocks associated with the peer in purgePeer.

Closes #5513, #5517
2020-10-21 13:26:20 +04:00
Erik Grinaker 29ca7de63c abci/grpc: return async responses in order (#5520) (#5531)
Fixes #5439. This is really a workaround for #5519 (unless we require async implementations to return ordered responses, but that kind of defeats the purpose of having an async API).
2020-10-20 10:56:48 +02:00
Marko 6f908eb814 crypto: add in secp256k1 support (#5500)
Secp256k1 was removed in the protobuf migration, this pr adds it back in order to provide this functionality for users (band)

Closes: #5495
2020-10-19 10:07:51 +02:00
Erik Grinaker b3238cdcd9 statesync: check all necessary heights when adding snapshot to pool (#5516) (#5518)
Fixes #5511.
2020-10-16 14:39:56 +02:00
Sam Hart 01622f81e9 Update README.md (#185) 2020-10-14 17:08:20 +02:00
Tess Rinearson bd1f43d793 changelog: prepare changelog for RC5 (#5494)
* changelog: prepare changelog for RC5

* Update CHANGELOG.md

Co-authored-by: Marko <marbar3778@yahoo.com>

* Update CHANGELOG.md

Co-authored-by: Marko <marbar3778@yahoo.com>

Co-authored-by: Marko <marbar3778@yahoo.com>
v0.34.0-rc5
2020-10-13 20:00:59 +02:00
Marko 09982ae407 backport block size fixes (#5492)
* mempool: length prefix txs when getting them from mempool (#5483)

* correctly calculate evidence data size (#5482)

* block: use commit sig size instead of vote size (#5490)

* tx: reduce function to one parameter (#5493)
2020-10-13 18:07:54 +02:00
Callum Waters 7d5d417dc9 evidence: use bytes instead of quantity to limit size (#5449)(#5476) 2020-10-08 14:38:11 +02:00
Igor Konnov 792767d1cb Extending the blockchain specification (in the light client) to produce different ratios of faults (#183)
* cleaning unused definitions

* introduced the ratio of faulty processes
2020-10-08 10:42:00 +02:00
Josef Widder 0794fc8ff2 first check latest with secondary (#184) 2020-10-08 09:51:00 +02:00
Marko dac18d73a7 fix RPC blockresults return (#5459) (#5463) 2020-10-07 12:01:40 +02:00
Marko c5576dfa69 spec: protobuf changes (#156)
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
2020-10-06 12:40:25 +02:00
Tess Rinearson 383bc5337f changelog: add missing date to v0.33.5 release, fix indentation (#5454) (#5455)
I forgot to add the date when we cut 0.33.5. This fixes that. It also fixes a header indentation issue for 0.33.8.
2020-10-05 12:27:58 +02:00
Marko 04fb20e33d remove setOption (#181) 2020-10-05 08:54:41 +02:00
Erik Grinaker e74176ad1a privval: fix ping message encoding (#5442)
Fixes #5371.
2020-10-01 17:02:11 +02:00
Callum Waters 52994aa2a9 consensus: check block parts don't exceed maximum block bytes (#5436) 2020-10-01 16:11:54 +02:00
Erik Grinaker 6149f21cd6 privval: allow passing options to NewSignerDialerEndpoint (#5434) (#5437)
Required for #5291 to set timeouts for remote signers.
2020-10-01 16:06:34 +02:00
Erik Grinaker 1a2cc933a0 config: set statesync.rpc_servers when generating config file (#5433) (#5438)
Required for #5291, to generate configuration files with state sync RPC servers.
2020-10-01 15:55:57 +02:00
Josef Widder 8391fa0b89 TLA+ specs from MBT revision (#173) 2020-10-01 11:31:53 +02:00
Anton Kaliaev e0f686ccac mempool: fix nil pointer dereference (#5412)
previously, the second next could return nil, which would be the reason
for panic on line 275:

memTx := next.Value.(*mempoolTx)

Closes #5408
2020-09-30 08:56:01 +04:00
Marko 3e56eb5fe3 fix markdown linter (#172) 2020-09-29 14:23:40 +02:00
Callum Waters 733b020899 evidence: update data structures (#165) 2020-09-29 14:05:44 +02:00
Andrey Kuprianov 109a73f672 describe valset sorting according to v0.34 requirements (#169) 2020-09-25 09:22:14 +02:00
Tess Rinearson c50c33e4e9 CHANGELOG: update for 0.34.0-rc4 (#5400) v0.34.0-rc4 2020-09-24 16:48:55 +02:00
Tess Rinearson 932b4b5749 UPGRADING: polish upgrading instructions for 0.34 (#5398)
This change adds some polish to the upgrading instructions for 0.34. The only substantive changes include:
* Calling out ABCI-impacting changes explicitly in the "ABCI Changes" section, even if those changes are also mentioned elsewhere
* Removes `ProofOfTrialPeriod` from consensus params; this change was introduced and then removed.
2020-09-24 16:20:32 +02:00
Erik Grinaker f83ecdad1d config: add state sync discovery_time setting (#5399)
Reduces the state sync discovery time from 20 to 15 seconds, and makes it configurable.
2020-09-24 16:01:45 +02:00
Josef Widder 80747a0872 fixed an overlooked conflict (#167) 2020-09-24 09:59:24 +02:00
Josef Widder f3033c5515 spec: Light client attack detector (#164)
* start with new detection and evidence spec

* more definitions at top

* sketch of functions

* pre post draft

* evidence proof

* typo

* evidence theory polished

* some TODOs resolved

* more TODOs

* links

* second to last revision before PR

* links

* I will read once more and then make a PR

* removed peer handling definitions

* secondary

* ready to review

* detector ready for review

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

* skip-trace

* PossibleCommit explained

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* comments by Zarko

* renamed and changed link in README

Co-authored-by: Zarko Milosevic <zarko@informal.systems>
2020-09-24 09:53:50 +02:00
Erik Grinaker ebfe0cbb8c abci: fix socket client error for state sync responses (#5395)
This caused the node to crash whenever any state sync-related request was called via the ABCI UNIX socket client.
2020-09-24 03:53:15 +00:00
dependabot[bot] 9adab8ccc7 build(deps): Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390)
Bumps [vuepress-theme-cosmos](https://github.com/cosmos/vuepress-theme-cosmos) from 1.0.172 to 1.0.173.
- [Release notes](https://github.com/cosmos/vuepress-theme-cosmos/releases)
- [Commits](https://github.com/cosmos/vuepress-theme-cosmos/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>
2020-09-23 17:32:03 +02:00
Tess Rinearson 9fd089f823 README: clean up README (#5391)
Cleans up the grammar, removes out-of-date information, and reduces false promises.
2020-09-23 15:36:12 +02:00
Erik Grinaker a2bbc2984b changelog: minor tweaks (#5389)
Clean up some inconsistent formatting and missing PR numbers.
2020-09-23 10:42:52 +00:00
Anton Kaliaev ffe2742a6c mempool: batch txs per peer in broadcastTxRoutine (#5321)
Closes #625
2020-09-23 14:13:13 +04:00
Anton Kaliaev 4b99502d5b config: set time_iota_ms to timeout_commit in test genesis (#5386)
also, document consensus parameters.
https://forum.cosmos.network/t/consensus-timeouts-explained/1421

Closes #4489
2020-09-23 12:24:45 +04:00