This release is centered around two topics: mempool and performance improvements. The mempool will stop accepting new
transactions if the node can't keep up with rechecking the number of transactions already in the mempool.
It also contains a few bug fixes.
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
[blockstore] Fix invalid blocks received in blocksync mode, added banning peer option
(#ASA-2024-008)
[consensus] Fix a race condition in the consensus timeout ticker. Race is caused by two timeouts being scheduled at the same time.
(#3092)
IMPROVEMENTS
[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
(#3003
[consensus] Improve performance of consensus metrics by lowering string operations
(#3017
[protoio] Remove one allocation and new object call from ReadMsg,
leading to a 4% p2p message reading performance gain.
(#3018
[mempool] Before updating the mempool, consider it as full if rechecking is still in progress.
This will stop accepting transactions in the mempool if the node can't keep up with re-CheckTx.
This improvement is implemented only in the v0 mempool.
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.5 to 0.37.7.
Release notes
Sourced from github.com/cometbft/cometbft's releases.
Changelog
Sourced from github.com/cometbft/cometbft's changelog.
... (truncated)
Commits
8135d4c
updated release texte9f8506
fixes1cb3eea
bumped versionce61d22
unclog buildfbc58da
unclog release07866e1
Merge pull request from GHSA-hg58-rf2h-6rr7cd1a511
Formatted changelog27c6721
blocksync pool peer ban test751e818
fix(mempool)!: stop accepting TXs in the mempool if we can't keep up with reC...1a4f00d
build(deps): Bump bufbuild/buf-setup-action from 1.33.0 to 1.34.0 (#3322)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