M. J. Fromberger
fc10fe7986
Add lock comment.
2022-07-05 19:24:14 -07:00
M. J. Fromberger
74c70b74c2
Remove check requiring Go 1.18.
2022-07-05 19:14:12 -07:00
M. J. Fromberger
57828a0ca1
Suppress pointless lint.
2022-07-05 19:12:18 -07:00
M. J. Fromberger
ad1d1d8c29
Fix unbounded heap growth in the priority mempool.
...
The primary effect of this change is to simplify the implementation of the
priority mempool to eliminate an unbounded heap growth observed by Vega team
when it was enabled in their testnet. It updates and fixes #8775 .
The main body of this change is to remove the auxiliary indexing structures,
and use only the concurrent list structure (the same as the legacy mempool) to
maintain both gossip order and priority.
This means that operations that require priority information, such as block
updates and insert-time evictions, require a linear scan over the mempool.
This tradeoff greatly simplifies the code and eliminates the long-term heap
load, at the cost of some extra CPU and short-lived working memory during
CheckTx and Update calls.
On the existing CheckTx benchmarks, this cost is only about 3 microseconds
slower than the legacy mempool, and given that CheckTx rate is generally
limited by network latencies (order milliseconds), the overhead is negligible.
In addition:
- Rework synchronization so that access to shared data structures is safe.
Previously shared locks were used to exclude block updates during calls that
update mempool state. Now access is properly exclusive where necessary.
- Fix a bug in the recheck flow, where priority updates from the application
were not correctly reflected in the index structures.
- Eliminate the need for separate recheck cursors during block update. This
avoids the need to explicitly invalidate elements of the concurrent list,
which averts the dependency cycle that led to objects being pinned.
- Clean up, clarify, and fix inaccuracies in documentation comments throughout
the package.
2022-07-05 18:45:33 -07:00
mergify[bot]
047d7c927b
p2p: fix flakey test due to disconnect cooldown ( #8917 ) ( #8918 )
...
This test was made flakey by #8839 . The cooldown period means that the node in the test will not try to reconnect as quickly as the test expects. This change makes the cooldown shorter in the test so that the node quickly reconnects.
(cherry picked from commit 5274f80de4 )
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com >
Co-authored-by: Sam Kleinman <garen@tychoish.com >
2022-07-05 19:11:38 -04:00
mergify[bot]
49788adde5
p2p: use correct context error ( #8916 ) ( #8920 )
...
handshakeCtx is the internal context carrying the timeout. Its error should be used for the error return.
(cherry picked from commit 921530c352 )
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com >
Co-authored-by: Sam Kleinman <garen@tychoish.com >
Co-authored-by: Callum Waters <cmwaters19@gmail.com >
2022-07-05 13:36:26 -04:00
dependabot[bot]
e414d0a878
build(deps): Bump github.com/libp2p/go-buffer-pool from 0.0.2 to 0.1.0 ( #8931 )
2022-07-05 12:19:03 +02:00
dependabot[bot]
6a646f366e
build(deps): Bump github.com/vektra/mockery/v2 from 2.13.1 to 2.14.0 ( #8925 )
...
Bumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery ) from 2.13.1 to 2.14.0.
- [Release notes](https://github.com/vektra/mockery/releases )
- [Changelog](https://github.com/vektra/mockery/blob/master/.goreleaser.yml )
- [Commits](https://github.com/vektra/mockery/compare/v2.13.1...v2.14.0 )
---
updated-dependencies:
- dependency-name: github.com/vektra/mockery/v2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-01 12:15:22 -04:00
mergify[bot]
01984cb3b2
p2p: set outgoing connections to around 20% of total connections ( #8913 ) ( #8914 )
...
(cherry picked from commit 47cb30fc1d )
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com >
2022-06-30 17:15:32 -04:00
dependabot[bot]
e2d2c04aac
build(deps): Bump github.com/stretchr/testify from 1.7.2 to 1.8.0 ( #8908 )
...
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify ) from 1.7.2 to 1.8.0.
- [Release notes](https://github.com/stretchr/testify/releases )
- [Commits](https://github.com/stretchr/testify/compare/v1.7.2...v1.8.0 )
---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-30 08:33:13 -07:00
Sam Kleinman
204281fa66
node: always start blocksync and avoid misconfiguration ( #8902 )
2022-06-29 22:12:36 -04:00
mergify[bot]
486370ac68
log: do not pre-process log results (backport #8895 ) ( #8896 )
...
(cherry picked from commit 37f9d59969 )
Co-authored-by: Sam Kleinman <garen@tychoish.com >
2022-06-29 11:26:28 -04:00
William Banfield
978f754ad3
p2p: set empty timeouts to configed values. (manual backport of #8847 ) ( #8869 )
...
* regenerate mocks using newer style
* p2p: set empty timeouts to small values. (#8847 )
These timeouts default to 'do not time out' if they are not set. This times up resources, potentially indefinitely. If node on the other side of the the handshake is up but unresponsive, the[ handshake call](edec79448a/internal/p2p/router.go (L720) ) will _never_ return.
* fix light client select statement
2022-06-28 16:07:15 -04:00
mergify[bot]
c4ef566071
p2p: remove dial sleep and provide disconnect cooldown (backport #8839 ) ( #8875 )
...
(cherry picked from commit 52b6dc19ba )
2022-06-27 10:49:51 -04:00
dependabot[bot]
f19e52e6f2
build(deps): Bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 ( #8882 )
...
Bumps [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action ) from 0.9.1 to 0.10.0.
- [Release notes](https://github.com/styfle/cancel-workflow-action/releases )
- [Commits](https://github.com/styfle/cancel-workflow-action/compare/0.9.1...0.10.0 )
---
updated-dependencies:
- dependency-name: styfle/cancel-workflow-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 09:13:46 -04:00
mergify[bot]
19b98c7005
e2e: disable another network test ( #8862 ) ( #8873 )
...
Follow up on: https://github.com/tendermint/tendermint/pull/8849
(cherry picked from commit c4d24eed7d )
Co-authored-by: Callum Waters <cmwaters19@gmail.com >
2022-06-24 13:22:26 -04:00
mergify[bot]
826f224c2d
p2p: add eviction metrics and cleanup dialing error handling (backport #8819 ) ( #8820 )
2022-06-24 10:42:58 -04:00
mergify[bot]
2df4c2b19d
e2e: add tolerance to peer discovery test ( #8849 ) ( #8857 )
...
(cherry picked from commit fb209136f8 )
Co-authored-by: Callum Waters <cmwaters19@gmail.com >
Co-authored-by: Sam Kleinman <garen@tychoish.com >
2022-06-23 14:46:10 -04:00
mergify[bot]
6f4ef72964
p2p: track peers by address ( #8841 ) ( #8855 )
...
(cherry picked from commit 436a38f876 )
Co-authored-by: Sam Kleinman <garen@tychoish.com >
2022-06-23 13:21:46 -04:00
mergify[bot]
3398f37979
cmd: add tool for compaction of goleveldb (backport #8564 ) ( #8675 )
2022-06-23 18:25:19 +02:00
mergify[bot]
8ef63fe3d9
e2e: report peer heights in error message ( #8843 ) ( #8853 )
...
(cherry picked from commit 52b2efb827 )
Co-authored-by: Sam Kleinman <garen@tychoish.com >
2022-06-23 10:46:51 -04:00
M. J. Fromberger
9daea43375
Update default version marker. ( #8844 )
v0.35.7
2022-06-22 18:16:58 -04:00
M. J. Fromberger
df9363c67c
Prepare changelog for Release v0.35.7 ( #8772 )
2022-06-22 11:54:03 -07:00
mergify[bot]
24701cd587
p2p: more dial routines ( #8827 ) ( #8828 )
2022-06-21 21:27:28 -04:00
William Banfield
e9c87a3c49
remove dial wake change ( #8824 )
2022-06-21 20:20:04 -04:00
dependabot[bot]
034a9f8422
build(deps): Bump github.com/spf13/cobra from 1.4.0 to 1.5.0 ( #8811 )
...
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Commits](https://github.com/spf13/cobra/compare/v1.4.0...v1.5.0 )
---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thane Thomson <connect@thanethomson.com >
2022-06-21 17:16:31 -04:00
Callum Waters
4322f7d0b9
mempool: make error throwing for CheckTx consistent ( #8817 )
2022-06-21 18:51:50 +02:00
Sam Kleinman
83526cacbc
p2p: peer store and dialing changes (0.35.x backport) ( #8740 )
...
* p2p: peer store and dialing changes
(cherry picked from commit 9dbb135152 )
* reduce persistent peer max
(cherry picked from commit b213a2766f )
* don't gossip inactive peers
(cherry picked from commit cc28ce298f )
* fix small case
(cherry picked from commit 56a91642dc )
* fix error message
(cherry picked from commit 86db59f53b )
* remove seed flag
(cherry picked from commit 000aa05485 )
* reduce logging level
(cherry picked from commit 4e2bc8f51e )
* make const
(cherry picked from commit e3068b50b2 )
* update comment
(cherry picked from commit 31bd396c88 )
* cleanup
(cherry picked from commit eddb23b5af )
* oops
* overflows
(cherry picked from commit 4c8651026a )
* Update internal/p2p/peermanager.go
Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com >
(cherry picked from commit f23f6e1089 )
* Update internal/p2p/peermanager.go
Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com >
(cherry picked from commit 1c02758eaf )
* comment
(cherry picked from commit 9f604fd2ef )
* test: new scoring
(cherry picked from commit 930fd7f2be )
* fix scoring test
(cherry picked from commit 9abc55f3a0 )
* cleanup peer manager
* fix panic
* add metrics
* fix compile
* fix test
* default metrics to noop
* noop metrics
* update metrics
(cherry picked from commit 720600ef62 )
* rename metrics
* actually shuffle peers more
* fix up advertise
(cherry picked from commit 8195c97590 )
* add max dialing attempts
* connection tracking
* comments mostly
(cherry picked from commit 053ecd9b8c )
* Apply suggestions from code review
Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com >
* comments
* fix lint
* cr feedback
* fixup cherrypick
* make wb happy
* more comments
* fixup
* fix lint
* iota fix
* add skip
* cleanup
* remove comment
* fix rand
* fix rand
* use numaddresses correctly
* advertise fixes
* remove some things
* cleanup comment
* more fixes
* toml
* fix comment
* fix spell
* dec limit
* fixes
* up the attmept max
* cr feedback
* probablistic test
* fix spell
* add metrics for peers stored on startup
* p2p: peer score should not wrap around (#8790 )
(cherry picked from commit 4d820ff4f5 )
# Conflicts:
# internal/p2p/peermanager.go
* fix
* wake more
* wake if we need to
Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com >
2022-06-20 13:13:21 -04:00
mergify[bot]
25d724b920
e2e: reactivate network test (backport #8635 ) ( #8777 )
2022-06-20 17:10:20 +02:00
dependabot[bot]
3945cec115
build(deps): Bump github.com/adlio/schema from 1.3.0 to 1.3.3 ( #8797 )
...
Bumps [github.com/adlio/schema](https://github.com/adlio/schema ) from 1.3.0 to 1.3.3.
- [Release notes](https://github.com/adlio/schema/releases )
- [Commits](https://github.com/adlio/schema/compare/v1.3.0...v1.3.3 )
---
updated-dependencies:
- dependency-name: github.com/adlio/schema
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-20 09:19:34 -04:00
mergify[bot]
74c6d8100d
p2p: fix typo ( #8793 ) ( #8794 )
2022-06-19 11:52:43 -07:00
M. J. Fromberger
e2d01cdcff
Make priority mempool fuzz test actually test the priority mempool. ( #8785 )
...
Fixes #8783 .
2022-06-17 09:29:13 -07:00
dependabot[bot]
bee6597b28
build(deps): Bump github.com/vektra/mockery/v2 from 2.13.0 to 2.13.1 ( #8765 )
...
Bumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery ) from 2.13.0 to 2.13.1.
- [Release notes](https://github.com/vektra/mockery/releases )
- [Changelog](https://github.com/vektra/mockery/blob/master/.goreleaser.yml )
- [Commits](https://github.com/vektra/mockery/compare/v2.13.0...v2.13.1 )
---
updated-dependencies:
- dependency-name: github.com/vektra/mockery/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sam Kleinman <garen@tychoish.com >
2022-06-15 10:12:21 -04:00
mergify[bot]
ce8284c027
p2p: accept should not abort on first error (backport #8759 ) ( #8760 )
2022-06-15 07:56:15 -04:00
dependabot[bot]
d02f58e191
build(deps): Bump github.com/vektra/mockery/v2 from 2.12.3 to 2.13.0 ( #8747 )
...
Bumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery ) from 2.12.3 to 2.13.0.
- [Release notes](https://github.com/vektra/mockery/releases )
- [Changelog](https://github.com/vektra/mockery/blob/master/.goreleaser.yml )
- [Commits](https://github.com/vektra/mockery/compare/v2.12.3...v2.13.0 )
---
updated-dependencies:
- dependency-name: github.com/vektra/mockery/v2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-14 10:00:05 -07:00
Callum Waters
28c38522e0
do not log an error for duplicate txs ( #8732 )
2022-06-10 11:56:00 +02:00
Sam Kleinman
0b63e293f1
e2e/generator: add additional testnets (0.35) ( #8730 )
2022-06-10 03:55:29 -04:00
mergify[bot]
af0590a819
consensus: switch timeout message to be debug and clarify meaning ( #8694 ) ( #8696 )
...
(cherry picked from commit 75a12ea0c6 )
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com >
Co-authored-by: Sam Kleinman <garen@tychoish.com >
Co-authored-by: Callum Waters <cmwaters19@gmail.com >
2022-06-09 09:45:58 -04:00
mergify[bot]
46c27b45ab
rpc: always close http bodies (backport #8712 ) ( #8715 )
...
(cherry picked from commit 931c98f7ad )
Co-authored-by: Sam Kleinman <garen@tychoish.com >
Co-authored-by: M. J. Fromberger <fromberger@interchain.io >
2022-06-08 11:57:55 -07:00
dependabot[bot]
3c29b6996b
build(deps): Bump github.com/rs/zerolog from 1.26.1 to 1.27.0 ( #8723 )
...
Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog ) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/rs/zerolog/releases )
- [Commits](https://github.com/rs/zerolog/compare/v1.26.1...v1.27.0 )
---
updated-dependencies:
- dependency-name: github.com/rs/zerolog
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-08 07:14:17 -07:00
dependabot[bot]
138be1f7b0
build(deps): Bump github.com/stretchr/testify from 1.7.1 to 1.7.2 ( #8710 )
...
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify ) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/stretchr/testify/releases )
- [Commits](https://github.com/stretchr/testify/compare/v1.7.1...v1.7.2 )
---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-07 04:59:40 -04:00
mergify[bot]
98411962c6
p2p: pass maxConns for MaxPeers during node setup ( #8684 ) ( #8692 )
...
* pass maxConns for MaxPeers
* add upgrade connections to max connections for max peers
* change the formula to calculate max peers
(cherry picked from commit 30929cf190 )
Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com >
2022-06-04 08:53:41 -07:00
M. J. Fromberger
3079eb8b30
Prepare Release v0.35.6 ( #8685 )
v0.35.6
2022-06-03 10:42:06 +02:00
mergify[bot]
0e3a3fe58b
p2p: shed peers from store from other networks (backport #8678 ) ( #8681 )
2022-06-02 12:15:55 -04:00
mergify[bot]
e17e6b1aaa
migrate: provide function for database production (backport #8614 ) ( #8672 )
...
(cherry picked from commit d5299882b0 )
2022-06-02 06:17:06 -04:00
dependabot[bot]
0421f8b25e
build(deps): Bump google.golang.org/grpc from 1.46.2 to 1.47.0 ( #8666 )
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.46.2 to 1.47.0.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.46.2...v1.47.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 11:59:15 -07:00
Callum Waters
4faa8b72aa
cmd: don't used global config for reset commands ( #8668 )
2022-06-01 18:34:35 +02:00
Callum Waters
336dc2f2c5
chore: update version ( #8634 )
2022-06-01 15:48:35 +02:00
Callum Waters
e8ac37223f
pex: align max address thresholds ( #8657 )
2022-05-31 14:07:25 -04:00
Sam Kleinman
a889f17e51
consensus: restructure peer catchup sleep ( #8651 )
2022-05-31 11:31:51 -04:00