Repository navigation
fix(p2p): stop warning on every gossipsub IHAVE dropped by a full send queue - #717
pablodeymo wants to merge 1 commit into
Conversation
…d queue A beacon node logs `WARN libp2p_gossipsub::behaviour: Send Queue full. Could not send Rpc.` once per heartbeat for every slow peer, each line listing every IHAVE message id for an attestation subnet. The drop is already counted in the peer's `failed_messages` and charged to its score, so the warning adds noise, not information. The line is emitted inside the gossipsub crate, so this bumps the libp2p fork to lambdaclass/rust-libp2p#1, which logs non-priority drops (IHAVE, IWANT, publish, forward) at DEBUG and keeps WARN for control drops (GRAFT, PRUNE, IDONTWANT). The fix commit is based on the revision pinned so far, so the dependency tree differs from today's by those lines only; the branch head is a full upstream merge ahead and was deliberately not taken. The lockfile's 38 fork source lines are rewritten in place rather than through `cargo update -p libp2p`, which also re-resolved two unrelated dependency edges; `cargo metadata --locked` accepts the rewritten lock unchanged.
🤖 Kimi Code ReviewI'll review this PR which updates the SummaryThis PR bumps the ReviewSecurity & Supply ChainCritical concern: No verification of fork changes
Dependency ManagementMinor issue:
Consensus-Layer ImpactNo direct consensus code affected
Networking ConsiderationsItem 1: Protocol compatibility risk
Item 2:
Rust Best PracticesThe change itself is idiomatic — git dependencies with explicit revs are the correct approach for fork pinning. No code quality issues. Verdict
Required Actions
The diff itself is correct; the concern is operational/process-related for a blockchain client. Automated review by Kimi (Moonshot AI) · kimi-k2.6 · custom prompt |
🤖 Claude Code ReviewReview of PR 717: bump the libp2p fork pin to The change is mechanical and consistent. I found no blocking issues.
Notes, none blocking:
Approve. Automated review by Claude (Anthropic) · sonnet · custom prompt |
🤖 Codex Code ReviewLooks good overall. I don’t see a correctness, consensus, or memory-safety issue in this PR itself.
This PR is only a pinned What I checked:
Minor note:
If you want, I can also do a deeper follow-up pass on the effective upstream change by comparing the old and new Automated review by OpenAI Codex · gpt-5.4 · custom prompt |
|
Superseded by #719, which caps gossipsub's log output in ethlambda's own filter instead of bumping the libp2p fork. The branch stays for reference. |
🗒️ Description / Motivation
WARN libp2p_gossipsub::behaviour: Send Queue full. Could not send Rpc.once per heartbeat for every slow peer, each line listing every IHAVE message id of an attestation subnet. The drop is already counted in the peer'sfailed_messagesand charged to its score, so the warning adds noise, not information.What Changed
crates/net/p2p/Cargo.toml: bothrevfields (libp2p,libp2p-mplex) move from2f14d0ectoda141177, the fix commit, whose parent is2f14d0ec. The dependency tree therefore differs from today's by those lines only. The branch head was deliberately not taken: it is 51 commits and a full upstream merge ahead (protobuf back to prost, gossipsub behaviour and config changes), which is not a change to make during the 1.0 window.Cargo.lock: the 38 fork source lines, rewritten in place.cargo update -p libp2pwas not used because it also re-resolved two unrelated edges (data-encoding-macro-internal→syn,iana-time-zone→windows-core);cargo metadata --lockedaccepts the rewritten lock without changes.Correctness / Behavior Guarantees
Tests Added / Run
cargo clippy --locked -p ethlambda-p2p --all-targets -- -D warnings: clean.cargo test --locked --profile release-fast -p ethlambda-p2p: 360 passed, 0 failed, 1 ignored.da141177carries the WARN/DEBUG split.Related Issues / PRs
Event::SlowPeer. Lighthouse penalizes a peer once it has dropped more than 10 priority messages; we only let the score decay do the work.✅ Verification Checklist
make fmt— no Rust source changed in this repomake lint(clippy with-D warnings) — run forethlambda-p2p, the only crate consuming the fork, rather than the whole workspacemake test(test-consensusplustest-node, atrelease-fast) —ethlambda-p2psuite run atrelease-fast; CI runs the rest