Skip to content

litep2p: Update litep2p to v0.8.0#6353

Merged
lexnv merged 5 commits intomasterfrom
lexnv/update-litep2p-0.8.0
Nov 5, 2024
Merged

litep2p: Update litep2p to v0.8.0#6353
lexnv merged 5 commits intomasterfrom
lexnv/update-litep2p-0.8.0

Conversation

@lexnv
Copy link
Contributor

@lexnv lexnv commented Nov 4, 2024

This PR updates litep2p to the latest release.

  • KademliaEvent::PutRecordSucess is renamed to fix word typo
  • KademliaEvent::GetProvidersSuccess and KademliaEvent::IncomingProvider are needed for bootnodes on DHT work and will be utilized later

Added

  • kad: Providers part 8: unit, e2e, and libp2p conformance tests (#258)
  • kad: Providers part 7: better types and public API, public addresses & known providers (#246)
  • kad: Providers part 6: stop providing (#245)
  • kad: Providers part 5: GET_PROVIDERS query (#236)
  • kad: Providers part 4: refresh local providers (#235)
  • kad: Providers part 3: publish provider records (start providing) (#234)

Changed

  • transport_service: Improve connection stability by downgrading connections on substream inactivity (#260)
  • transport: Abort canceled dial attempts for TCP, WebSocket and Quic (#255)
  • kad/executor: Add timeout for writting frames (#277)
  • kad: Avoid cloning the KademliaMessage and use reference for RoutingTable::closest (#233)
  • peer_state: Robust state machine transitions (#251)
  • address_store: Improve address tracking and add eviction algorithm (#250)
  • kad: Remove unused serde cfg (#262)
  • req-resp: Refactor to move functionality to dedicated methods (#244)
  • transport_service: Improve logs and move code from tokio::select macro (#254)

Fixed

  • tcp/websocket/quic: Fix cancel memory leak (#272)
  • transport: Fix pending dials memory leak (#271)
  • ping: Fix memory leak of unremoved pending_opens (#274)
  • identify: Fix memory leak of unused pending_opens (#273)
  • kad: Fix not retrieving local records (#221)

See release changelog for more details: https://github.com/paritytech/litep2p/releases/tag/v0.8.0

cc @paritytech/networking

@lexnv lexnv added T0-node This PR/Issue is related to the topic “node”. I5-enhancement An additional feature request. labels Nov 4, 2024
@lexnv lexnv self-assigned this Nov 4, 2024
Signed-off-by: Alexandru Vasile <[email protected]>
@lexnv
Copy link
Contributor Author

lexnv commented Nov 4, 2024

Testing Done

Two nodes started side by side in Kusama with 200 in/out peers:

Litep2p

Repo Count Level Triage report
polkadot-sdk 31 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Peer disconnected with inflight after backoffs. Banned, disconnecting. )
polkadot-sdk 16 warn 🥩 ran out of peers to request justif #.* from num_cache=.* num_live=.* err=.*
polkadot-sdk 9 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Same block request multiple times. Banned, disconnecting. )
litep2p 6 warn Refusing to add known address that corresponds to a different peer ID
polkadot-sdk 2 error 💔 Called on_validated_block_announce with a bad peer ID .*
litep2p 1 warn litep2p started with no listen addresses, cannot accept inbound connections
polkadot-sdk 1 warn ❌ Error while dialing .: .

Libp2p

Repo Count Level Triage report
polkadot-sdk 579 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Unsupported protocol. Banned, disconnecting. )
polkadot-sdk 45 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Peer disconnected with inflight after backoffs. Banned, disconnecting. )
polkadot-sdk 30 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Not requested block data. Banned, disconnecting. )
polkadot-sdk 18 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Invalid justification. Banned, disconnecting. )
polkadot-sdk 18 warn Report .: . to .. Reason: .. Banned, disconnecting. ( Same block request multiple times. Banned, disconnecting. )
polkadot-sdk 1 warn 💔 Error importing block .: . ( Parent block of 0xe913…165c has no associated weight )
polkadot-sdk 1 warn ❌ Error while dialing .: .
polkadot-sdk 1 error 💔 Called on_validated_block_announce with a bad peer ID .*

It looks like libp2p is producing more errors from the peerstore than litep2p

Co-authored-by: Dmitry Markin <[email protected]>
@dmitry-markin dmitry-markin requested a review from bkchr November 5, 2024 10:34
@lexnv lexnv added this pull request to the merge queue Nov 5, 2024
Merged via the queue into master with commit 94389a9 Nov 5, 2024
@lexnv lexnv deleted the lexnv/update-litep2p-0.8.0 branch November 5, 2024 12:48
ordian added a commit that referenced this pull request Nov 5, 2024
* master: (129 commits)
  pallet-revive: Use `RUSTUP_TOOLCHAIN` if set (#6365)
  [eth-rpc] proxy /health (#6360)
  [Release|CI/CD] adjust release pipelines (#6366)
  Bump the known_good_semver group across 1 directory with 3 updates (#6339)
  Run check semver in MQ (#6287)
  [Deprecation] deprecate treasury `spend_local` call and related items (#6169)
  refactor and harden check_core_index (#6217)
  litep2p: Update litep2p to v0.8.0 (#6353)
  [pallet-staking] Additional check for virtual stakers (#5985)
  migrate pallet-remarks to v2 bench syntax (#6291)
  Remove leftover references of Wococo (#6361)
  snowbridge: allow account conversion for Ethereum accounts (#6221)
  authority-discovery: Populate DHT records with public listen addresses (#6298)
  Bounty Pallet: add `approve_bounty_with_curator` call to `bounties` pallet (#5961)
  Silent annoying log (#6351)
  [pallet-revive] rework balance transfers (#6187)
  `statement-distribution`: RFC103 implementation (#5883)
  Disable flaky tests reported in #6343 / #6345 (#6346)
  migrate pallet-recovery to benchmark V2 syntax (#6299)
  inclusion emulator: correctly handle UMP signals (#6178)
  ...
lexnv added a commit that referenced this pull request Nov 15, 2024
This PR updates litep2p to the latest release.

- `KademliaEvent::PutRecordSucess` is renamed to fix word typo
- `KademliaEvent::GetProvidersSuccess` and
`KademliaEvent::IncomingProvider` are needed for bootnodes on DHT work
and will be utilized later

- kad: Providers part 8: unit, e2e, and `libp2p` conformance tests
([#258](paritytech/litep2p#258))
- kad: Providers part 7: better types and public API, public addresses &
known providers ([#246](paritytech/litep2p#246))
- kad: Providers part 6: stop providing
([#245](paritytech/litep2p#245))
- kad: Providers part 5: `GET_PROVIDERS` query
([#236](paritytech/litep2p#236))
- kad: Providers part 4: refresh local providers
([#235](paritytech/litep2p#235))
- kad: Providers part 3: publish provider records (start providing)
([#234](paritytech/litep2p#234))

- transport_service: Improve connection stability by downgrading
connections on substream inactivity
([#260](paritytech/litep2p#260))
- transport: Abort canceled dial attempts for TCP, WebSocket and Quic
([#255](paritytech/litep2p#255))
- kad/executor: Add timeout for writting frames
([#277](paritytech/litep2p#277))
- kad: Avoid cloning the `KademliaMessage` and use reference for
`RoutingTable::closest`
([#233](paritytech/litep2p#233))
- peer_state: Robust state machine transitions
([#251](paritytech/litep2p#251))
- address_store: Improve address tracking and add eviction algorithm
([#250](paritytech/litep2p#250))
- kad: Remove unused serde cfg
([#262](paritytech/litep2p#262))
- req-resp: Refactor to move functionality to dedicated methods
([#244](paritytech/litep2p#244))
- transport_service: Improve logs and move code from tokio::select macro
([#254](paritytech/litep2p#254))

- tcp/websocket/quic: Fix cancel memory leak
([#272](paritytech/litep2p#272))
- transport: Fix pending dials memory leak
([#271](paritytech/litep2p#271))
- ping: Fix memory leak of unremoved `pending_opens`
([#274](paritytech/litep2p#274))
- identify: Fix memory leak of unused `pending_opens`
([#273](paritytech/litep2p#273))
- kad: Fix not retrieving local records
([#221](paritytech/litep2p#221))

See release changelog for more details:
https://github.com/paritytech/litep2p/releases/tag/v0.8.0

cc @paritytech/networking

---------

Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: Dmitry Markin <[email protected]>
Signed-off-by: Alexandru Vasile <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

I5-enhancement An additional feature request. T0-node This PR/Issue is related to the topic “node”.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants