From 78fbf848287ee1d15c94f0dd9b90c8af566d1425 Mon Sep 17 00:00:00 2001 From: Grzegorz Prusak Date: Mon, 24 Oct 2022 15:08:04 +0200 Subject: [PATCH 1/2] removed messages of unimplemented EpochSync --- chain/client/src/client_actor.rs | 8 - chain/client/src/test_utils.rs | 197 +++++++++--------- chain/client/src/view_client.rs | 8 - chain/network/src/network_protocol/borsh.rs | 12 +- .../src/network_protocol/borsh_conv.rs | 26 +-- chain/network/src/network_protocol/mod.rs | 5 - .../src/network_protocol/network.proto | 29 +-- .../proto_conv/peer_message.rs | 55 ----- chain/network/src/network_protocol/tests.rs | 7 - .../src/peer_manager/peer_manager_actor.rs | 23 -- chain/network/src/testonly/fake_client.rs | 15 -- chain/network/src/types.rs | 68 +----- 12 files changed, 127 insertions(+), 326 deletions(-) diff --git a/chain/client/src/client_actor.rs b/chain/client/src/client_actor.rs index 424f7d02287..11aad2cb667 100644 --- a/chain/client/src/client_actor.rs +++ b/chain/client/src/client_actor.rs @@ -567,14 +567,6 @@ impl ClientActor { NetworkClientResponses::NoResponse } - NetworkClientMessages::EpochSyncResponse(_peer_id, _response) => { - // TODO #3488 - NetworkClientResponses::NoResponse - } - NetworkClientMessages::EpochSyncFinalizationResponse(_peer_id, _response) => { - // TODO #3488 - NetworkClientResponses::NoResponse - } NetworkClientMessages::PartialEncodedChunkRequest(part_request_msg, route_back) => { let _ = self .client diff --git a/chain/client/src/test_utils.rs b/chain/client/src/test_utils.rs index e37c5977dc2..68dbb243159 100644 --- a/chain/client/src/test_utils.rs +++ b/chain/client/src/test_utils.rs @@ -627,7 +627,8 @@ pub fn setup_mock_all_validators( // Note: this `.wait` will block until all `ClientActors` are created. let connectors1 = connectors1.wait(); let mut guard = network_mock1.write().unwrap(); - let (resp, perform_default) = guard.deref_mut()(connectors1.as_slice(), account_id.clone(), &msg); + let (resp, perform_default) = + guard.deref_mut()(connectors1.as_slice(), account_id.clone(), &msg); drop(guard); if perform_default { @@ -643,24 +644,25 @@ pub fn setup_mock_all_validators( .enumerate() .map(|(i, peer_info)| ConnectedPeerInfo { full_peer_info: FullPeerInfo { - peer_info: peer_info.clone(), - chain_info: PeerChainInfoV2 { - genesis_id: GenesisId { - chain_id: "unittest".to_string(), - hash: Default::default(), + peer_info: peer_info.clone(), + chain_info: PeerChainInfoV2 { + genesis_id: GenesisId { + chain_id: "unittest".to_string(), + hash: Default::default(), + }, + height: last_height2[i], + tracked_shards: vec![], + archival: true, }, - height: last_height2[i], - tracked_shards: vec![], - archival: true, + partial_edge_info: PartialEdgeInfo::default(), }, - partial_edge_info: PartialEdgeInfo::default(), - }, received_bytes_per_sec: 0, sent_bytes_per_sec: 0, last_time_peer_requested: near_network::time::Instant::now(), last_time_received_message: near_network::time::Instant::now(), connection_established_time: near_network::time::Instant::now(), - peer_type: PeerType::Outbound, }) + peer_type: PeerType::Outbound, + }) .collect(); let peers2 = peers.iter().map(|it| it.full_peer_info.clone()).collect(); let info = NetworkInfo { @@ -673,7 +675,8 @@ pub fn setup_mock_all_validators( known_producers: vec![], tier1_accounts: vec![], }; - client_addr.do_send(NetworkClientMessages::NetworkInfo(info).with_span_context()); + client_addr + .do_send(NetworkClientMessages::NetworkInfo(info).with_span_context()); } match msg.as_network_requests_ref() { @@ -685,7 +688,14 @@ pub fn setup_mock_all_validators( } for (client, _) in connectors1 { - client.do_send(NetworkClientMessages::Block( block.clone(), PeerInfo::random().id, false, ).with_span_context()); + client.do_send( + NetworkClientMessages::Block( + block.clone(), + PeerInfo::random().id, + false, + ) + .with_span_context(), + ); } let mut last_height1 = last_height1.write().unwrap(); @@ -701,7 +711,11 @@ pub fn setup_mock_all_validators( } NetworkRequests::PartialEncodedChunkRequest { target, request, .. } => { let create_msg = || { - NetworkClientMessages::PartialEncodedChunkRequest(request.clone(), my_address).with_span_context() + NetworkClientMessages::PartialEncodedChunkRequest( + request.clone(), + my_address, + ) + .with_span_context() }; send_chunks( connectors1, @@ -713,7 +727,11 @@ pub fn setup_mock_all_validators( } NetworkRequests::PartialEncodedChunkResponse { route_back, response } => { let create_msg = || { - NetworkClientMessages::PartialEncodedChunkResponse(response.clone(), Clock::instant()).with_span_context() + NetworkClientMessages::PartialEncodedChunkResponse( + response.clone(), + Clock::instant(), + ) + .with_span_context() }; send_chunks( connectors1, @@ -728,7 +746,10 @@ pub fn setup_mock_all_validators( partial_encoded_chunk, } => { let create_msg = || { - NetworkClientMessages::PartialEncodedChunk(partial_encoded_chunk.clone().into()).with_span_context() + NetworkClientMessages::PartialEncodedChunk( + partial_encoded_chunk.clone().into(), + ) + .with_span_context() }; send_chunks( connectors1, @@ -740,7 +761,8 @@ pub fn setup_mock_all_validators( } NetworkRequests::PartialEncodedChunkForward { account_id, forward } => { let create_msg = || { - NetworkClientMessages::PartialEncodedChunkForward(forward.clone()).with_span_context() + NetworkClientMessages::PartialEncodedChunkForward(forward.clone()) + .with_span_context() }; send_chunks( connectors1, @@ -758,64 +780,20 @@ pub fn setup_mock_all_validators( actix::spawn( connectors1[i] .1 - .send(NetworkViewClientMessages::BlockRequest(*hash).with_span_context()) + .send( + NetworkViewClientMessages::BlockRequest(*hash) + .with_span_context(), + ) .then(move |response| { let response = response.unwrap(); match response { NetworkViewClientResponses::Block(block) => { - me.do_send(NetworkClientMessages::Block(*block, peer_id, true).with_span_context()); - } - NetworkViewClientResponses::NoResponse => {} - _ => assert!(false), - } - future::ready(()) - }), - ); - } - } - } - NetworkRequests::EpochSyncRequest { epoch_id, peer_id } => { - for (i, peer_info) in key_pairs.iter().enumerate() { - let peer_id = peer_id.clone(); - if peer_info.id == peer_id { - let me = connectors1[my_ord].0.clone(); - actix::spawn( - connectors1[i] - .1 - .send(NetworkViewClientMessages::EpochSyncRequest { - epoch_id: epoch_id.clone(), - }.with_span_context()) - .then(move |response| { - let response = response.unwrap(); - match response { - NetworkViewClientResponses::EpochSyncResponse(response) => { - me.do_send(NetworkClientMessages::EpochSyncResponse(peer_id, response).with_span_context()); - } - NetworkViewClientResponses::NoResponse => {} - _ => assert!(false), - } - future::ready(()) - }), - ); - } - } - } - NetworkRequests::EpochSyncFinalizationRequest { epoch_id, peer_id } => { - for (i, peer_info) in key_pairs.iter().enumerate() { - let peer_id = peer_id.clone(); - if peer_info.id == peer_id { - let me = connectors1[my_ord].0.clone(); - actix::spawn( - connectors1[i] - .1 - .send(NetworkViewClientMessages::EpochSyncFinalizationRequest { - epoch_id: epoch_id.clone(), - }.with_span_context()) - .then(move |response| { - let response = response.unwrap(); - match response { - NetworkViewClientResponses::EpochSyncFinalizationResponse(response) => { - me.do_send(NetworkClientMessages::EpochSyncFinalizationResponse(peer_id, response).with_span_context()); + me.do_send( + NetworkClientMessages::Block( + *block, peer_id, true, + ) + .with_span_context(), + ); } NetworkViewClientResponses::NoResponse => {} _ => assert!(false), @@ -834,16 +812,24 @@ pub fn setup_mock_all_validators( actix::spawn( connectors1[i] .1 - .send(NetworkViewClientMessages::BlockHeadersRequest( - hashes.clone(), - ).with_span_context()) + .send( + NetworkViewClientMessages::BlockHeadersRequest( + hashes.clone(), + ) + .with_span_context(), + ) .then(move |response| { let response = response.unwrap(); match response { NetworkViewClientResponses::BlockHeaders( headers, ) => { - me.do_send(NetworkClientMessages::BlockHeaders(headers, peer_id).with_span_context()); + me.do_send( + NetworkClientMessages::BlockHeaders( + headers, peer_id, + ) + .with_span_context(), + ); } NetworkViewClientResponses::NoResponse => {} _ => assert!(false), @@ -869,17 +855,25 @@ pub fn setup_mock_all_validators( actix::spawn( connectors1[i] .1 - .send(NetworkViewClientMessages::StateRequestHeader { - shard_id: *shard_id, - sync_hash: *sync_hash, - }.with_span_context()) + .send( + NetworkViewClientMessages::StateRequestHeader { + shard_id: *shard_id, + sync_hash: *sync_hash, + } + .with_span_context(), + ) .then(move |response| { let response = response.unwrap(); match response { NetworkViewClientResponses::StateResponse( response, ) => { - me.do_send(NetworkClientMessages::StateResponse(*response).with_span_context()); + me.do_send( + NetworkClientMessages::StateResponse( + *response, + ) + .with_span_context(), + ); } NetworkViewClientResponses::NoResponse => {} _ => assert!(false), @@ -906,18 +900,26 @@ pub fn setup_mock_all_validators( actix::spawn( connectors1[i] .1 - .send(NetworkViewClientMessages::StateRequestPart { - shard_id: *shard_id, - sync_hash: *sync_hash, - part_id: *part_id, - }.with_span_context()) + .send( + NetworkViewClientMessages::StateRequestPart { + shard_id: *shard_id, + sync_hash: *sync_hash, + part_id: *part_id, + } + .with_span_context(), + ) .then(move |response| { let response = response.unwrap(); match response { NetworkViewClientResponses::StateResponse( response, ) => { - me.do_send(NetworkClientMessages::StateResponse(*response).with_span_context()); + me.do_send( + NetworkClientMessages::StateResponse( + *response, + ) + .with_span_context(), + ); } NetworkViewClientResponses::NoResponse => {} _ => assert!(false), @@ -931,7 +933,10 @@ pub fn setup_mock_all_validators( NetworkRequests::StateResponse { route_back, response } => { for (i, address) in addresses.iter().enumerate() { if route_back == address { - connectors1[i].0.do_send(NetworkClientMessages::StateResponse(response.clone()).with_span_context()); + connectors1[i].0.do_send( + NetworkClientMessages::StateResponse(response.clone()) + .with_span_context(), + ); } } } @@ -944,9 +949,13 @@ pub fn setup_mock_all_validators( if aa.get(&key).is_none() { aa.insert(key); for (_, view_client) in connectors1 { - view_client.do_send(NetworkViewClientMessages::AnnounceAccount( - vec![(announce_account.clone(), None)], - ).with_span_context()) + view_client.do_send( + NetworkViewClientMessages::AnnounceAccount(vec![( + announce_account.clone(), + None, + )]) + .with_span_context(), + ) } } } @@ -975,7 +984,8 @@ pub fn setup_mock_all_validators( NetworkClientMessages::BlockApproval( approval.clone(), my_key_pair.id.clone(), - ).with_span_context(), + ) + .with_span_context(), ); } } @@ -1021,7 +1031,8 @@ pub fn setup_mock_all_validators( }; } resp - }).start(); + }) + .start(); let network_adapter = NetworkRecipient::default(); network_adapter.set_recipient(pm); let (block, client, view_client_addr) = setup( diff --git a/chain/client/src/view_client.rs b/chain/client/src/view_client.rs index 77dde26df38..4557883ac9a 100644 --- a/chain/client/src/view_client.rs +++ b/chain/client/src/view_client.rs @@ -1258,14 +1258,6 @@ impl Handler> for ViewClientActor { NetworkViewClientResponses::AnnounceAccount(filtered_announce_accounts) } - NetworkViewClientMessages::EpochSyncRequest { epoch_id: _epoch_id } => { - // TODO #3488 - NetworkViewClientResponses::NoResponse - } - NetworkViewClientMessages::EpochSyncFinalizationRequest { epoch_id: _epoch_id } => { - // TODO #3488 - NetworkViewClientResponses::NoResponse - } } } } diff --git a/chain/network/src/network_protocol/borsh.rs b/chain/network/src/network_protocol/borsh.rs index edd0a186588..e927bed763e 100644 --- a/chain/network/src/network_protocol/borsh.rs +++ b/chain/network/src/network_protocol/borsh.rs @@ -10,9 +10,7 @@ use near_primitives::block::{Block, BlockHeader, GenesisId}; use near_primitives::challenge::Challenge; use near_primitives::hash::CryptoHash; use near_primitives::network::{AnnounceAccount, PeerId}; -use near_primitives::syncing::{EpochSyncFinalizationResponse, EpochSyncResponse}; use near_primitives::transaction::SignedTransaction; -use near_primitives::types::EpochId; use std::fmt; use std::fmt::Formatter; @@ -134,12 +132,12 @@ pub(super) enum PeerMessage { /// Gracefully disconnect from other peer. Disconnect, Challenge(Challenge), - _HandshakeV2, - EpochSyncRequest(EpochId), - EpochSyncResponse(Box), - EpochSyncFinalizationRequest(EpochId), - EpochSyncFinalizationResponse(Box), + _HandshakeV2, + _EpochSyncRequest, + _EpochSyncResponse, + _EpochSyncFinalizationRequest, + _EpochSyncFinalizationResponse, _RoutingTableSyncV2, } #[cfg(target_arch = "x86_64")] // Non-x86_64 doesn't match this requirement yet but it's not bad as it's not production-ready diff --git a/chain/network/src/network_protocol/borsh_conv.rs b/chain/network/src/network_protocol/borsh_conv.rs index 59d659ae158..61dd2ae8fdc 100644 --- a/chain/network/src/network_protocol/borsh_conv.rs +++ b/chain/network/src/network_protocol/borsh_conv.rs @@ -96,6 +96,8 @@ pub enum ParsePeerMessageError { DeprecatedHandshakeV2, #[error("RoutingTableSyncV2 is deprecated")] DeprecatedRoutingTableSyncV2, + #[error("EpochSync is deprecated")] + DeprecatedEpochSync, } impl TryFrom<&net::PeerMessage> for mem::PeerMessage { @@ -127,15 +129,13 @@ impl TryFrom<&net::PeerMessage> for mem::PeerMessage { net::PeerMessage::Disconnect => mem::PeerMessage::Disconnect, net::PeerMessage::Challenge(c) => mem::PeerMessage::Challenge(c), net::PeerMessage::_HandshakeV2 => return Err(Self::Error::DeprecatedHandshakeV2), - net::PeerMessage::EpochSyncRequest(epoch_id) => { - mem::PeerMessage::EpochSyncRequest(epoch_id) + net::PeerMessage::_EpochSyncRequest => return Err(Self::Error::DeprecatedEpochSync), + net::PeerMessage::_EpochSyncResponse => return Err(Self::Error::DeprecatedEpochSync), + net::PeerMessage::_EpochSyncFinalizationRequest => { + return Err(Self::Error::DeprecatedEpochSync) } - net::PeerMessage::EpochSyncResponse(esr) => mem::PeerMessage::EpochSyncResponse(esr), - net::PeerMessage::EpochSyncFinalizationRequest(epoch_id) => { - mem::PeerMessage::EpochSyncFinalizationRequest(epoch_id) - } - net::PeerMessage::EpochSyncFinalizationResponse(esfr) => { - mem::PeerMessage::EpochSyncFinalizationResponse(esfr) + net::PeerMessage::_EpochSyncFinalizationResponse => { + return Err(Self::Error::DeprecatedEpochSync) } net::PeerMessage::_RoutingTableSyncV2 => { return Err(Self::Error::DeprecatedRoutingTableSyncV2) @@ -175,16 +175,6 @@ impl From<&mem::PeerMessage> for net::PeerMessage { mem::PeerMessage::Routed(r) => net::PeerMessage::Routed(Box::new(r.msg.clone())), mem::PeerMessage::Disconnect => net::PeerMessage::Disconnect, mem::PeerMessage::Challenge(c) => net::PeerMessage::Challenge(c), - mem::PeerMessage::EpochSyncRequest(epoch_id) => { - net::PeerMessage::EpochSyncRequest(epoch_id) - } - mem::PeerMessage::EpochSyncResponse(esr) => net::PeerMessage::EpochSyncResponse(esr), - mem::PeerMessage::EpochSyncFinalizationRequest(epoch_id) => { - net::PeerMessage::EpochSyncFinalizationRequest(epoch_id) - } - mem::PeerMessage::EpochSyncFinalizationResponse(esfr) => { - net::PeerMessage::EpochSyncFinalizationResponse(esfr) - } } } } diff --git a/chain/network/src/network_protocol/mod.rs b/chain/network/src/network_protocol/mod.rs index ba70f5eb87c..bcb6f6dbcdb 100644 --- a/chain/network/src/network_protocol/mod.rs +++ b/chain/network/src/network_protocol/mod.rs @@ -31,7 +31,6 @@ use near_primitives::network::{AnnounceAccount, PeerId}; use near_primitives::sharding::{ ChunkHash, PartialEncodedChunk, PartialEncodedChunkPart, ReceiptProof, ShardChunkHeader, }; -use near_primitives::syncing::{EpochSyncFinalizationResponse, EpochSyncResponse}; use near_primitives::syncing::{ShardStateSyncResponse, ShardStateSyncResponseV1}; use near_primitives::transaction::SignedTransaction; use near_primitives::types::{AccountId, EpochId}; @@ -256,10 +255,6 @@ pub enum PeerMessage { /// Gracefully disconnect from other peer. Disconnect, Challenge(Challenge), - EpochSyncRequest(EpochId), - EpochSyncResponse(Box), - EpochSyncFinalizationRequest(EpochId), - EpochSyncFinalizationResponse(Box), } impl fmt::Display for PeerMessage { diff --git a/chain/network/src/network_protocol/network.proto b/chain/network/src/network_protocol/network.proto index fcb6f7334cd..5b7f84aa4bb 100644 --- a/chain/network/src/network_protocol/network.proto +++ b/chain/network/src/network_protocol/network.proto @@ -316,28 +316,6 @@ message Challenge { bytes borsh = 1; } -// TODO: document it -message EpochSyncRequest { - CryptoHash epoch_id = 1; -} - -// Wrapper of borsh-encoded EpochSyncResponse -// https://github.com/near/nearcore/blob/1a4edefd0116f7d1e222bc96569367a02fe64199/core/primitives/src/syncing.rs#L225 -message EpochSyncResponse { - bytes borsh = 1; -} - -// TODO: document it -message EpochSyncFinalizationRequest { - CryptoHash epoch_id = 1; -} - -// Wrapper of borsh-encoded EpochSyncFinalizationResponse -// https://github.com/near/nearcore/blob/1a4edefd0116f7d1e222bc96569367a02fe64199/core/primitives/src/syncing.rs#L202 -message EpochSyncFinalizationResponse { - bytes borsh = 1; -} - // Wrapper of borsh-encoded RoutingSyncV2 // https://github.com/near/nearcore/blob/1a4edefd0116f7d1e222bc96569367a02fe64199/chain/network/src/network_protocol.rs#L225 message RoutingSyncV2 { @@ -354,7 +332,7 @@ message PeerMessage { // https://docs.google.com/document/d/1gCWmt9O-h_-5JDXIqbKxAaSS3Q9pryB1f9DDY1mMav4/edit reserved 1,2,3; // Deprecated fields. - reserved 24; + reserved 20,21,22,23,24; oneof message_type { Handshake handshake = 4; @@ -380,10 +358,5 @@ message PeerMessage { RoutedMessage routed = 17; Disconnect disconnect = 18; Challenge challenge = 19; - - EpochSyncRequest epoch_sync_request = 20; - EpochSyncResponse epoch_sync_response = 21; - EpochSyncFinalizationRequest epoch_sync_finalization_request = 22; - EpochSyncFinalizationResponse epoch_sync_finalization_response = 23; } } diff --git a/chain/network/src/network_protocol/proto_conv/peer_message.rs b/chain/network/src/network_protocol/proto_conv/peer_message.rs index cdec63ece78..778e43eb789 100644 --- a/chain/network/src/network_protocol/proto_conv/peer_message.rs +++ b/chain/network/src/network_protocol/proto_conv/peer_message.rs @@ -9,9 +9,7 @@ use crate::time::error::ComponentRange; use borsh::{BorshDeserialize as _, BorshSerialize as _}; use near_primitives::block::{Block, BlockHeader}; use near_primitives::challenge::Challenge; -use near_primitives::syncing::{EpochSyncFinalizationResponse, EpochSyncResponse}; use near_primitives::transaction::SignedTransaction; -use near_primitives::types::EpochId; use protobuf::MessageField as MF; use std::sync::Arc; @@ -155,30 +153,6 @@ impl From<&PeerMessage> for proto::PeerMessage { borsh: r.try_to_vec().unwrap(), ..Default::default() }), - PeerMessage::EpochSyncRequest(epoch_id) => { - ProtoMT::EpochSyncRequest(proto::EpochSyncRequest { - epoch_id: MF::some((&epoch_id.0).into()), - ..Default::default() - }) - } - PeerMessage::EpochSyncResponse(esr) => { - ProtoMT::EpochSyncResponse(proto::EpochSyncResponse { - borsh: esr.try_to_vec().unwrap(), - ..Default::default() - }) - } - PeerMessage::EpochSyncFinalizationRequest(epoch_id) => { - ProtoMT::EpochSyncFinalizationRequest(proto::EpochSyncFinalizationRequest { - epoch_id: MF::some((&epoch_id.0).into()), - ..Default::default() - }) - } - PeerMessage::EpochSyncFinalizationResponse(esfr) => { - ProtoMT::EpochSyncFinalizationResponse(proto::EpochSyncFinalizationResponse { - borsh: esfr.try_to_vec().unwrap(), - ..Default::default() - }) - } }), ..Default::default() } @@ -188,8 +162,6 @@ impl From<&PeerMessage> for proto::PeerMessage { pub type ParseTransactionError = borsh::maybestd::io::Error; pub type ParseRoutedError = borsh::maybestd::io::Error; pub type ParseChallengeError = borsh::maybestd::io::Error; -pub type ParseEpochSyncResponseError = borsh::maybestd::io::Error; -pub type ParseEpochSyncFinalizationResponseError = borsh::maybestd::io::Error; #[derive(thiserror::Error, Debug)] pub enum ParsePeerMessageError { @@ -223,14 +195,6 @@ pub enum ParsePeerMessageError { Routed(ParseRoutedError), #[error("challenge: {0}")] Challenge(ParseChallengeError), - #[error("epoch_sync_request: {0}")] - EpochSyncRequest(ParseRequiredError), - #[error("epoch_sync_response: {0}")] - EpochSyncResponse(ParseEpochSyncResponseError), - #[error("epoch_sync_finalization_request: {0}")] - EpochSyncFinalizationRequest(ParseRequiredError), - #[error("epoch_sync_finalization_response: {0}")] - EpochSyncFinalizationResponse(ParseEpochSyncFinalizationResponseError), #[error("routed_created_at: {0}")] RoutedCreatedAtTimestamp(ComponentRange), #[error("sync_accounts_data: {0}")] @@ -302,25 +266,6 @@ impl TryFrom<&proto::PeerMessage> for PeerMessage { ProtoMT::Challenge(c) => PeerMessage::Challenge( Challenge::try_from_slice(&c.borsh).map_err(Self::Error::Challenge)?, ), - ProtoMT::EpochSyncRequest(esr) => PeerMessage::EpochSyncRequest(EpochId( - try_from_required(&esr.epoch_id).map_err(Self::Error::EpochSyncRequest)?, - )), - ProtoMT::EpochSyncResponse(esr) => PeerMessage::EpochSyncResponse(Box::new( - EpochSyncResponse::try_from_slice(&esr.borsh) - .map_err(Self::Error::EpochSyncResponse)?, - )), - ProtoMT::EpochSyncFinalizationRequest(esr) => { - PeerMessage::EpochSyncFinalizationRequest(EpochId( - try_from_required(&esr.epoch_id) - .map_err(Self::Error::EpochSyncFinalizationRequest)?, - )) - } - ProtoMT::EpochSyncFinalizationResponse(esr) => { - PeerMessage::EpochSyncFinalizationResponse(Box::new( - EpochSyncFinalizationResponse::try_from_slice(&esr.borsh) - .map_err(Self::Error::EpochSyncFinalizationResponse)?, - )) - } }) } } diff --git a/chain/network/src/network_protocol/tests.rs b/chain/network/src/network_protocol/tests.rs index c05d379b4e0..f1bb9ba4ba4 100644 --- a/chain/network/src/network_protocol/tests.rs +++ b/chain/network/src/network_protocol/tests.rs @@ -6,8 +6,6 @@ use crate::time; use crate::types::{HandshakeFailureReason, PeerMessage}; use crate::types::{PartialEncodedChunkRequestMsg, PartialEncodedChunkResponseMsg}; use anyhow::{bail, Context as _}; -use near_primitives::syncing::EpochSyncResponse; -use near_primitives::types::EpochId; #[test] fn bad_account_data_size() { @@ -58,7 +56,6 @@ fn serialize_deserialize() -> anyhow::Result<()> { let a = data::make_signer(&mut rng); let b = data::make_signer(&mut rng); let edge = data::make_edge(&a, &b); - let epoch_id = EpochId(chain.blocks[1].hash().clone()); let chunk_hash = chain.blocks[3].chunks()[0].chunk_hash(); let routed_message1 = Box::new(data::make_routed_message( @@ -98,10 +95,6 @@ fn serialize_deserialize() -> anyhow::Result<()> { PeerMessage::Routed(routed_message2), PeerMessage::Disconnect, PeerMessage::Challenge(data::make_challenge(&mut rng)), - PeerMessage::EpochSyncRequest(epoch_id.clone()), - PeerMessage::EpochSyncResponse(Box::new(EpochSyncResponse::UpToDate)), - PeerMessage::EpochSyncFinalizationRequest(epoch_id), - // TODO: EpochSyncFinalizationResponse ]; // Check that serialize;deserialize = 1 diff --git a/chain/network/src/peer_manager/peer_manager_actor.rs b/chain/network/src/peer_manager/peer_manager_actor.rs index 2cb7c061168..b59e6135905 100644 --- a/chain/network/src/peer_manager/peer_manager_actor.rs +++ b/chain/network/src/peer_manager/peer_manager_actor.rs @@ -1096,29 +1096,6 @@ impl PeerManagerActor { NetworkResponses::RouteNotFound } } - // unused: epoch sync is not implemented - NetworkRequests::EpochSyncRequest { peer_id, epoch_id } => { - if self - .state - .tier2 - .send_message(peer_id, Arc::new(PeerMessage::EpochSyncRequest(epoch_id))) - { - NetworkResponses::NoResponse - } else { - NetworkResponses::RouteNotFound - } - } - // unused: epoch sync is not implemented - NetworkRequests::EpochSyncFinalizationRequest { peer_id, epoch_id } => { - if self.state.tier2.send_message( - peer_id, - Arc::new(PeerMessage::EpochSyncFinalizationRequest(epoch_id)), - ) { - NetworkResponses::NoResponse - } else { - NetworkResponses::RouteNotFound - } - } NetworkRequests::BanPeer { peer_id, ban_reason } => { self.try_ban_peer(&peer_id, ban_reason); NetworkResponses::NoResponse diff --git a/chain/network/src/testonly/fake_client.rs b/chain/network/src/testonly/fake_client.rs index 32ec8c08bc0..7aca62f78a7 100644 --- a/chain/network/src/testonly/fake_client.rs +++ b/chain/network/src/testonly/fake_client.rs @@ -8,7 +8,6 @@ use near_primitives::challenge::Challenge; use near_primitives::hash::CryptoHash; use near_primitives::network::AnnounceAccount; use near_primitives::sharding::{ChunkHash, PartialEncodedChunkPart}; -use near_primitives::syncing::EpochSyncResponse; use near_primitives::transaction::SignedTransaction; use near_primitives::types::EpochId; @@ -22,9 +21,6 @@ pub enum Event { ChunkRequest(ChunkHash), Transaction(SignedTransaction), Challenge(Challenge), - EpochSyncRequest(EpochId), - EpochSyncResponse(EpochSyncResponse), - EpochSyncFinalizationRequest(EpochId), AnnounceAccount(Vec<(AnnounceAccount, Option)>), } @@ -57,14 +53,6 @@ impl actix::Handler> for Actor { self.event_sink.push(Event::BlockHeadersRequest(req)); NetworkViewClientResponses::NoResponse } - NetworkViewClientMessages::EpochSyncRequest { epoch_id } => { - self.event_sink.push(Event::EpochSyncRequest(epoch_id)); - NetworkViewClientResponses::NoResponse - } - NetworkViewClientMessages::EpochSyncFinalizationRequest { epoch_id } => { - self.event_sink.push(Event::EpochSyncFinalizationRequest(epoch_id)); - NetworkViewClientResponses::NoResponse - } NetworkViewClientMessages::AnnounceAccount(aas) => { self.event_sink.push(Event::AnnounceAccount(aas.clone())); NetworkViewClientResponses::AnnounceAccount(aas.into_iter().map(|a| a.0).collect()) @@ -103,9 +91,6 @@ impl actix::Handler> for Actor { resp = NetworkClientResponses::ValidTx; } NetworkClientMessages::Challenge(c) => self.event_sink.push(Event::Challenge(c)), - NetworkClientMessages::EpochSyncResponse(_, resp) => { - self.event_sink.push(Event::EpochSyncResponse(*resp)) - } NetworkClientMessages::NetworkInfo(_) => {} msg => { let msg_type: &'static str = msg.into(); diff --git a/chain/network/src/types.rs b/chain/network/src/types.rs index 836a7712308..2f8e9c8be55 100644 --- a/chain/network/src/types.rs +++ b/chain/network/src/types.rs @@ -15,7 +15,6 @@ use near_primitives::errors::InvalidTxError; use near_primitives::hash::CryptoHash; use near_primitives::network::{AnnounceAccount, PeerId}; use near_primitives::sharding::{PartialEncodedChunk, PartialEncodedChunkWithArcReceipts}; -use near_primitives::syncing::{EpochSyncFinalizationResponse, EpochSyncResponse}; use near_primitives::transaction::SignedTransaction; use near_primitives::types::BlockHeight; use near_primitives::types::{AccountId, EpochId, ShardId}; @@ -70,9 +69,6 @@ pub enum ReasonForBan { InvalidPeerId = 8, InvalidHash = 9, InvalidEdge = 10, - EpochSyncNoResponse = 11, - EpochSyncInvalidResponse = 12, - EpochSyncInvalidFinalizationResponse = 13, Blacklisted = 14, } @@ -236,29 +232,15 @@ impl From for PeerManagerMessageResponse { #[allow(clippy::large_enum_variant)] pub enum NetworkRequests { /// Sends block, either when block was just produced or when requested. - Block { - block: Block, - }, + Block { block: Block }, /// Sends approval. - Approval { - approval_message: ApprovalMessage, - }, + Approval { approval_message: ApprovalMessage }, /// Request block with given hash from given peer. - BlockRequest { - hash: CryptoHash, - peer_id: PeerId, - }, + BlockRequest { hash: CryptoHash, peer_id: PeerId }, /// Request given block headers. - BlockHeadersRequest { - hashes: Vec, - peer_id: PeerId, - }, + BlockHeadersRequest { hashes: Vec, peer_id: PeerId }, /// Request state header for given shard at given state root. - StateRequestHeader { - shard_id: ShardId, - sync_hash: CryptoHash, - target: AccountOrPeerIdOrHash, - }, + StateRequestHeader { shard_id: ShardId, sync_hash: CryptoHash, target: AccountOrPeerIdOrHash }, /// Request state part for given shard at given state root. StateRequestPart { shard_id: ShardId, @@ -267,23 +249,9 @@ pub enum NetworkRequests { target: AccountOrPeerIdOrHash, }, /// Response to state request. - StateResponse { - route_back: CryptoHash, - response: StateResponseInfo, - }, - EpochSyncRequest { - peer_id: PeerId, - epoch_id: EpochId, - }, - EpochSyncFinalizationRequest { - peer_id: PeerId, - epoch_id: EpochId, - }, + StateResponse { route_back: CryptoHash, response: StateResponseInfo }, /// Ban given peer. - BanPeer { - peer_id: PeerId, - ban_reason: ReasonForBan, - }, + BanPeer { peer_id: PeerId, ban_reason: ReasonForBan }, /// Announce account AnnounceAccount(AnnounceAccount), @@ -294,20 +262,14 @@ pub enum NetworkRequests { create_time: time::Instant, }, /// Information about chunk such as its header, some subset of parts and/or incoming receipts - PartialEncodedChunkResponse { - route_back: CryptoHash, - response: PartialEncodedChunkResponseMsg, - }, + PartialEncodedChunkResponse { route_back: CryptoHash, response: PartialEncodedChunkResponseMsg }, /// Information about chunk such as its header, some subset of parts and/or incoming receipts PartialEncodedChunkMessage { account_id: AccountId, partial_encoded_chunk: PartialEncodedChunkWithArcReceipts, }, /// Forwarding a chunk part to a validator tracking the shard - PartialEncodedChunkForward { - account_id: AccountId, - forward: PartialEncodedChunkForwardMsg, - }, + PartialEncodedChunkForward { account_id: AccountId, forward: PartialEncodedChunkForwardMsg }, /// Valid transaction but since we are not validators we send this transaction to current validators. ForwardTx(AccountId, SignedTransaction), @@ -459,10 +421,6 @@ pub enum NetworkClientMessages { BlockApproval(Approval, PeerId), /// State response. StateResponse(StateResponseInfo), - /// Epoch Sync response for light client block request - EpochSyncResponse(PeerId, Box), - /// Epoch Sync response for finalization request - EpochSyncFinalizationResponse(PeerId, Box), /// Request chunk parts and/or receipts. PartialEncodedChunkRequest(PartialEncodedChunkRequestMsg, CryptoHash), @@ -697,10 +655,6 @@ pub enum NetworkViewClientMessages { StateRequestHeader { shard_id: ShardId, sync_hash: CryptoHash }, /// State request part. StateRequestPart { shard_id: ShardId, sync_hash: CryptoHash, part_id: u64 }, - /// A request for a light client info during Epoch Sync - EpochSyncRequest { epoch_id: EpochId }, - /// A request for headers and proofs during Epoch Sync - EpochSyncFinalizationRequest { epoch_id: EpochId }, /// Account announcements that needs to be validated before being processed. /// They are paired with last epoch id known to this announcement, in order to accept only /// newer announcements. @@ -719,10 +673,6 @@ pub enum NetworkViewClientResponses { StateResponse(Box), /// Valid announce accounts. AnnounceAccount(Vec), - /// A response to a request for a light client block during Epoch Sync - EpochSyncResponse(Box), - /// A response to a request for headers and proofs during Epoch Sync - EpochSyncFinalizationResponse(Box), /// Ban peer for malicious behavior. Ban { ban_reason: ReasonForBan }, /// Response not needed From 3ea68657b34dba705794f4de94568316fb0ad498 Mon Sep 17 00:00:00 2001 From: Grzegorz Prusak Date: Mon, 24 Oct 2022 15:29:50 +0200 Subject: [PATCH 2/2] fixed compilation --- tools/chainsync-loadtest/src/network.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/chainsync-loadtest/src/network.rs b/tools/chainsync-loadtest/src/network.rs index 6a785786618..e77b19a13fc 100644 --- a/tools/chainsync-loadtest/src/network.rs +++ b/tools/chainsync-loadtest/src/network.rs @@ -310,10 +310,6 @@ impl Handler> for FakeClientActor { NetworkViewClientMessages::BlockHeadersRequest(_) => "BlockHeadersRequest", NetworkViewClientMessages::StateRequestHeader { .. } => "StateRequestHeader", NetworkViewClientMessages::StateRequestPart { .. } => "StateRequestPart", - NetworkViewClientMessages::EpochSyncRequest { .. } => "EpochSyncRequest", - NetworkViewClientMessages::EpochSyncFinalizationRequest { .. } => { - "EpochSyncFinalizationRequest" - } NetworkViewClientMessages::AnnounceAccount(_) => { return NetworkViewClientResponses::NoResponse; }