Skip to content

Commit 9869517

Browse files
lexnvdmitry-markin
andauthored
networking: Update litep2p network backend to v0.9.4 (#8373)
# Litep2p Release This release brings several improvements and fixes to litep2p, advancing its stability and readiness for production use. ### Performance Improvements This release addresses an issue where notification protocols failed to exit on handle drop, lowering CPU usage in scenarios like minimal-relay-chains from 7% to 0.1%. ### Robustness Improvements - Kademlia: - Optimized address store by sorting addresses based on dialing score, bounding memory consumption and improving efficiency. - Limited `FIND_NODE` responses to the replication factor, reducing data stored in the routing table. - Address store improvements enhance robustness against routing table alterations. - Identify Codec: - Enhanced message decoding to manage malformed or unexpected messages gracefully. - Bitswap: - Introduced a write timeout for sending frames, preventing protocol hangs or delays. ### Testing and Reliability - Fuzzing Harness: Added a fuzzing harness by SRLabs to uncover and resolve potential issues, improving code robustness. Thanks to @R9295 for the contribution! - Testing Enhancements: Improved notification state machine testing. Thanks to Dominique (@Imod7) for the contribution! ### Dependency Management - Updated all dependencies for stable feature flags (default and "websocket") to their latest versions. - Reorganized dependencies under specific feature flags, shrinking the default feature set and avoiding exposure of outdated dependencies from experimental features. ### Fixed - notifications: Exit protocols on handle drop to save up CPU of `minimal-relay-chains` ([#376](paritytech/litep2p#376)) - identify: Improve identify message decoding ([#379](paritytech/litep2p#379)) - crypto/noise: Set timeout limits for the noise handshake ([#373](paritytech/litep2p#373)) - kad: Improve robustness of addresses from the routing table ([#369](paritytech/litep2p#369)) - kad: Bound kademlia messages to the replication factor ([#371](paritytech/litep2p#371)) - codec: Decode smaller payloads for identity to None ([#362](paritytech/litep2p#362)) ### Added - bitswap: Add write timeout for sending frames ([#361](paritytech/litep2p#361)) - notif/tests: check test state ([#360](paritytech/litep2p#360)) - SRLabs: Introduce simple fuzzing harness ([#367](paritytech/litep2p#367)) - SRLabs: Introduce Fuzzing Harness ([#365](paritytech/litep2p#365)) ### Changed - features: Move quic related dependencies under feature flag ([#359](paritytech/litep2p#359)) - tests/substrate: Remove outdated substrate specific conformace testing ([#370](paritytech/litep2p#370)) - ci: Update stable dependencies ([#375](paritytech/litep2p#375)) - build(deps): bump hex-literal from 0.4.1 to 1.0.0 ([#381](paritytech/litep2p#381)) - build(deps): bump tokio from 1.44.1 to 1.44.2 in /fuzz/structure-aware ([#378](paritytech/litep2p#378)) - build(deps): bump Swatinem/rust-cache from 2.7.7 to 2.7.8 ([#363](paritytech/litep2p#363)) - build(deps): bump tokio from 1.43.0 to 1.43.1 ([#368](paritytech/litep2p#368)) - build(deps): bump openssl from 0.10.70 to 0.10.72 ([#366](paritytech/litep2p#366)) --------- Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by: Dmitry Markin <dmitry@markin.tech>
1 parent 216b81a commit 9869517

File tree

3 files changed

+120
-157
lines changed

3 files changed

+120
-157
lines changed

0 commit comments

Comments
 (0)