Repository navigation
fix: raise gossipsub control limit to 128 KiB - #1339
Conversation
Match the pinned Lighthouse control budget to accommodate larger go-ssv gossip RPCs. Addresses sigp#1335.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #1339 +/- ##
============================================
- Coverage 71.17% 71.15% -0.02%
============================================
Files 168 168
Lines 30562 30564 +2
============================================
- Hits 21751 21749 -2
- Misses 8811 8815 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
lgtm! review from opus 5.5 (high effort): checked the setter reaches the inbound codec on the pinned fork ( one note for the soak: go-libp2p-pubsub merges IHAVEs across topics into one RPC per peer, so 128 KiB fits about 6 full go-ssv IHAVEs (1,500 IDs each). worth grepping ardent logs for |
Problem, Evidence, and Context (Required)
Closes #1335.
Anchor inherits gossipsub's 16 KiB cumulative control/subscription limit. Normal go-ssv gossip can exceed it, causing RPC rejection and contributing to the subscription loss reported in a mixed-client devnet.
Change Overview (Required)
Raise the control budget to 128 KiB, matching Anchor's pinned Lighthouse v8.2.1 on the same gossipsub fork. This allows larger control RPCs through the size check while retaining the independent 5,000,000-byte total-message limit.
Risks, Trade-offs, and Mitigations (Required)
The larger budget permits more control processing per RPC. It remains finite, but is not guaranteed to accommodate every aggregated Go RPC. The incident's exact rejected size was not measured, and this change does not repair subscription recovery or address #1336/#1337.
Validation (Required)
cargo test --release --locked -p network: 63 passed.cargo clippy --locked -p network --all-targets -- -D warnings: passed.make cargo-fmt-checkandgit diff --check: passed.Existing tests exercise configuration construction and integration, not this threshold specifically. Mixed-client runtime recovery has not been verified.
Rollback (Required for behavior or runtime changes; optional otherwise)
Revert the change and restart Anchor. No configuration or data migration is required.