From e889d18418b7bb7c9c8a21da17e857c10aff34d5 Mon Sep 17 00:00:00 2001 From: Alexandru Vasile Date: Wed, 15 Jan 2025 20:19:48 +0200 Subject: [PATCH] litep2p: Backport using older `pending_get_values` Signed-off-by: Alexandru Vasile --- .../client/network/src/litep2p/discovery.rs | 6 --- substrate/client/network/src/litep2p/mod.rs | 37 ++++++------------- 2 files changed, 11 insertions(+), 32 deletions(-) diff --git a/substrate/client/network/src/litep2p/discovery.rs b/substrate/client/network/src/litep2p/discovery.rs index c5b85c402f69..f234d19bedd1 100644 --- a/substrate/client/network/src/litep2p/discovery.rs +++ b/substrate/client/network/src/litep2p/discovery.rs @@ -33,15 +33,9 @@ use litep2p::{ libp2p::{ identify::{Config as IdentifyConfig, IdentifyEvent}, kademlia::{ -<<<<<<< HEAD Config as KademliaConfig, ConfigBuilder as KademliaConfigBuilder, - IncomingRecordValidationMode, KademliaEvent, KademliaHandle, QueryId, Quorum, - Record, RecordKey, RecordsType, -======= - Config as KademliaConfig, ConfigBuilder as KademliaConfigBuilder, ContentProvider, IncomingRecordValidationMode, KademliaEvent, KademliaHandle, PeerRecord, QueryId, Quorum, Record, RecordKey, ->>>>>>> 77c78e15 (litep2p: Provide partial results to speedup GetRecord queries (#7099)) }, ping::{Config as PingConfig, PingEvent}, }, diff --git a/substrate/client/network/src/litep2p/mod.rs b/substrate/client/network/src/litep2p/mod.rs index 14deea40ee9a..390c2fda69a5 100644 --- a/substrate/client/network/src/litep2p/mod.rs +++ b/substrate/client/network/src/litep2p/mod.rs @@ -820,17 +820,8 @@ impl NetworkBackend for Litep2pNetworkBac self.peerstore_handle.add_known_peer(peer.into()); } } -<<<<<<< HEAD - Some(DiscoveryEvent::GetRecordSuccess { query_id, records }) => { - match self.pending_get_values.remove(&query_id) { - None => log::warn!( - target: LOG_TARGET, - "`GET_VALUE` succeeded for a non-existent query", - ), - Some((key, started)) => { -======= Some(DiscoveryEvent::GetRecordPartialResult { query_id, record }) => { - if !self.pending_queries.contains_key(&query_id) { + if !self.pending_get_values.contains_key(&query_id) { log::error!( target: LOG_TARGET, "Missing/invalid pending query for `GET_VALUE` partial result: {query_id:?}" @@ -862,25 +853,12 @@ impl NetworkBackend for Litep2pNetworkBac ); } Some(DiscoveryEvent::GetRecordSuccess { query_id }) => { - match self.pending_queries.remove(&query_id) { - Some(KadQuery::GetValue(key, started)) => { ->>>>>>> 77c78e15 (litep2p: Provide partial results to speedup GetRecord queries (#7099)) + match self.pending_get_values.remove(&query_id) { + Some((key, started)) => { log::trace!( target: LOG_TARGET, "`GET_VALUE` for {key:?} ({query_id:?}) succeeded", ); -<<<<<<< HEAD - for record in litep2p_to_libp2p_peer_record(records) { - self.event_streams.send( - Event::Dht( - DhtEvent::ValueFound( - record - ) - ) - ); - } -======= ->>>>>>> 77c78e15 (litep2p: Provide partial results to speedup GetRecord queries (#7099)) if let Some(ref metrics) = self.metrics { metrics @@ -888,7 +866,14 @@ impl NetworkBackend for Litep2pNetworkBac .with_label_values(&["value-get"]) .observe(started.elapsed().as_secs_f64()); } - } + }, + None => { + log::error!( + target: LOG_TARGET, + "Missing/invalid pending query for `GET_VALUE`: {query_id:?}" + ); + debug_assert!(false); + }, } } Some(DiscoveryEvent::PutRecordSuccess { query_id }) => {