mirror of
https://github.com/tendermint/tendermint.git
synced 2026-05-02 13:25:45 +00:00
* failing test
* fix infinite loop in addrbook
There are cases where we only have a small number of addresses marked
good ("old"), but the selection mechanism keeps trying to select more of these
addresses, and hence ends up in an infinite loop. Here we fix this to
only try and select such "old" addresses if we have enough of them. Note this
means, if we don't have enough of them, we may return more "new"
addresses than otherwise expected by the newSelectionBias.
This whole GetSelectionWithBias method probably needs to be rewritten,
but this is a quick fix for the issue.
* changelog
* fix infinite loop if not enough new addrs
* fix another potential infinite loop
if a.nNew == 0 -> pickFromOldBucket=true, but we don't have enough items
(a.nOld > len(oldBucketToAddrsMap) false)
* Revert "fix another potential infinite loop"
This reverts commit 146540c112.
* check num addresses instead of buckets, new test
* fixed the int division
* add slack to bias % in test, lint fixes
* Added checks for selection content in test
* test cleanup
* Apply suggestions from code review
Co-Authored-By: ebuchman <ethan@coinculture.info>
* address review comments
* change after Anton's review comments
* use the same docker image we use for testing
when building a binary for localnet
* switch back to circleci classic
* more review comments
* more review comments
* refactor addrbook_test
* build linux binary inside docker
in attempt to fix
```
--> Running dep
+ make build-linux
GOOS=linux GOARCH=amd64 make build
make[1]: Entering directory `/home/circleci/.go_workspace/src/github.com/tendermint/tendermint'
CGO_ENABLED=0 go build -ldflags "-X github.com/tendermint/tendermint/version.GitCommit=`git rev-parse --short=8 HEAD`" -tags 'tendermint' -o build/tendermint ./cmd/tendermint/
p2p/pex/addrbook.go:373:13: undefined: math.Round
```
* change dir from /usr to /go
* use concrete Go version for localnet binary
* check for nil addresses just to be sure
920 B
920 B
v0.30.0
TBD
Special thanks to external contributors on this release:
BREAKING CHANGES:
-
CLI/RPC/Config
-
Apps
-
Go API
- [types] #3245 Commit uses
type CommitSig Voteinstead ofVotedirectly.
- [types] #3245 Commit uses
-
Blockchain Protocol
-
P2P Protocol
FEATURES:
IMPROVEMENTS:
- [tools] Add go-deadlock tool to help detect deadlocks
- [tools] #3106 Add tm-signer-harness test harness for remote signers
- [crypto] #3163 Use ethereum's libsecp256k1 go-wrapper for signatures when cgo is available
- [crypto] #3162 Wrap btcd instead of forking it to keep up with fixes (used if cgo is not available)
BUG FIXES:
- [node] #3186 EventBus and indexerService should be started before first block (for replay last block on handshake) execution
- [p2p] #3232 Fix infinite loop leading to addrbook deadlock for seed nodes
- [p2p] #3247 Fix panic in SeedMode when calling FlushStop and OnStop concurrently