This release contains a few bug fixes and performance improvements.
BREAKING CHANGES
[mempool] Add to the Mempool interface a new method PreUpdate(). This method should be
called before acquiring the mempool lock, to signal that a new update is coming. Also add to
ErrMempoolIsFull a new field RecheckFull.
(#3314)
BUG FIXES
[mempool] Fix data race when rechecking with async ABCI client
(#1827)
[consensus] Fix a race condition in the consensus timeout ticker. Race is caused by two timeouts being scheduled at the same time.
(#3092)
[types] Do not batch verify a commit if the validator set keys have different
types. (#3195
IMPROVEMENTS
[blockstore] Added peer banning in blockstore
(#ABC-0013)
[blockstore] Send correct error message when vote extensions do not align with received packet
(#ABC-0014)
[config] Added recheck_timeout mempool parameter to set how much time to wait for recheck
responses from the app (only applies to non-local ABCI clients).
(#1827)
[rpc] Add a configurable maximum batch size for RPC requests.
(#2867).
[event-bus] Remove the debug logs in PublishEventTx, which were noticed production slowdowns.
(#2911)
[state/execution] Cache the block hash computation inside of the Block Type, so we only compute it once.
(#2924)
[consensus/state] Remove a redundant VerifyBlock call in FinalizeCommit
(#2928)
[p2p/channel] Speedup ProtoIO writer creation time, and thereby speedup channel writing by 5%.
(#2949)
[p2p/conn] Minor speedup (3%) to connection.WritePacketMsgTo, by removing MinInt calls.
(#2952)
[internal/bits] 10x speedup creating initialized bitArrays, which speedsup extendedCommit.BitArray(). This is used in consensus vote gossip.
(#2959).
[blockstore] Remove a redundant Header.ValidateBasic call in LoadBlockMeta, 75% reducing this time.
(#2964)
[p2p/conn] Speedup connection.WritePacketMsgTo, by reusing internal buffers rather than re-allocating.
(#2986)
[blockstore] Use LRU caches in blockstore, significiantly improving consensus gossip routine performance
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/cometbft/cometbft from 0.37.6 to 0.38.8.
Release notes
Sourced from github.com/cometbft/cometbft's releases.
Changelog
Sourced from github.com/cometbft/cometbft's changelog.
... (truncated)
Commits
6959205
Release/v0.38.8 (#3350)8ba2e4f
Merge pull request from GHSA-hg58-rf2h-6rr70a89ec1
Update blocksync/pool_test.go065810c
Readded good peer to test007efd7
Removed defers from test4199f27
Remove one thread to make test more compact8a473ca
Update blocksync/pool_test.go872210c
Update blocksync/pool_test.go4cb0df8
Update blocksync/pool_test.go26bda8b
Test assertions have more detailDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show