diff --git a/CHANGELOG.md b/CHANGELOG.md index 946cbbcc255..b9961b039fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ - chore: generate v0 JSON RPC specification ([filecoin-project/lotus#13155](https://github.com/filecoin-project/lotus/pull/13155)) - deps(f3): bump go-f3 version to 0.8.6, move power table cache to go-f3 from lotus ([filecoin-project/lotus#13144](https://github.com/filecoin-project/lotus/pull/13144)) - feat(f3): move go-f3 datastore to separate leveldb instance ([filecoin-project/lotus#13174](https://github.com/filecoin-project/lotus/pull/13174)) +- chore: bump the pubsub validation queue length to 256 ([filecoin-project/lotus#13176](https://github.com/filecoin-project/lotus/pull/13176)) + # Node v1.33.0 / 2025-05-08 The Lotus v1.33.0 release introduces experimental v2 APIs with F3 awareness, featuring a new TipSet selection mechanism that significantly enhances how applications interact with the Filecoin blockchain. This release candidate also adds F3-aware Ethereum APIs via the /v2 endpoint. All of the /v2 APIs implement intelligent fallback mechanisms between F3 and Expected Consensus and are exposed through the Lotus Gateway. diff --git a/node/modules/lp2p/pubsub.go b/node/modules/lp2p/pubsub.go index 82ce7c9ad2a..0add2b0d9c4 100644 --- a/node/modules/lp2p/pubsub.go +++ b/node/modules/lp2p/pubsub.go @@ -252,6 +252,15 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) { // Gossipsubv1.1 configuration pubsub.WithFloodPublish(true), pubsub.WithMessageIdFn(HashMsgId), + // Bump the validation queue to accommodate the increase in gossipsub message + // exchange rate as a result of f3. The size of 256 should offer enough headroom + // for slower F3 validation while avoiding: 1) avoid excessive memory usage, 2) + // dropped consensus related messages and 3) cascading effect among other topics + // since this config isn't topic-specific. + // + // Note that the worst case memory footprint is 256 MiB based on the default + // message size of 1 MiB, which isn't overridden in Lotus. + pubsub.WithValidateQueueSize(256), pubsub.WithPeerScore( &pubsub.PeerScoreParams{ AppSpecificScore: func(p peer.ID) float64 {