William Banfield
cabd916517
Revert "statesync: keep peer despite lightblock query fail ( #6692 )" ( #6696 )
* Revert "statesync: keep peer despite lightblock query fail (#6692 )"
This reverts commit 50b00dff71
.
3 years ago
William Banfield
50b00dff71
statesync: keep peer despite lightblock query fail ( #6692 )
When a peer responds with no lightblock for the height we queried, we call the [removePeer method](https://github.com/tendermint/tendermint/blob/master/internal/statesync/reactor.go#L339 ). This removes the peer from the [dispatcher's list of called peer's](ad65883152/internal/statesync/dispatcher.go (L159))
. When the dispatcher then receives responses from the removed peer, it [drops their responses](ad65883152/internal/statesync/dispatcher.go (L130))
. These responses may be meaningful or contain a block or data that will help statesync proceed.
[The logs](https://gist.github.com/tychoish/34a1f61eaae3c36c23efc7d0001e805c ), when this change is applied, show an additional 3 networking testnets passing.
addresses: #6691
3 years ago
Callum Waters
051e127d38
light: correctly handle contexts ( #6687 )
3 years ago
Callum Waters
2c14d491f6
fix leaking statesync test ( #6680 )
3 years ago
Aleksandr Bezobchuk
1dec3e139a
add stacktrace to panic logs ( #6662 )
3 years ago
Callum Waters
a1e1e6c290
test: fix non-deterministic backfill test ( #6648 )
3 years ago
Sam Kleinman
917180dfd2
p2p: reduce buffering on channels ( #6609 )
Having smaller buffers in each reactor/channel will mean that there will be fewer stale messages.
3 years ago
Sam Kleinman
ae5f98881b
p2p: make NodeID and NetAddress public ( #6583 )
3 years ago
Callum Waters
6e238b5b9d
statesync: make fetching chunks more robust ( #6587 )
3 years ago
Callum Waters
25bb556fee
p2p: increase queue size to 16MB ( #6588 )
3 years ago
Aleksandr Bezobchuk
7d961b55b2
state sync: tune request timeout and chunkers ( #6566 )
3 years ago
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.
4 years ago
Callum Waters
6f6ac5c04e
state sync: reverse sync implementation ( #6463 )
4 years ago
Sam Kleinman
a855f96946
p2p: renames for reactors and routing layer internal moves ( #6547 )
4 years ago