diff --git a/beacon_node/lighthouse_network/src/service/mod.rs b/beacon_node/lighthouse_network/src/service/mod.rs index 8ed8658a4bb..86086feda3d 100644 --- a/beacon_node/lighthouse_network/src/service/mod.rs +++ b/beacon_node/lighthouse_network/src/service/mod.rs @@ -1383,14 +1383,21 @@ impl Network { // Silencing this event breaks the API contract with RPC where every request ends with // - A stream termination event, or // - An RPCError event - if !matches!(event.event, HandlerEvent::Err(HandlerErr::Outbound { .. })) { + return if let HandlerEvent::Err(HandlerErr::Outbound { + id: RequestId::Application(id), + error, + .. + }) = event.event + { + Some(NetworkEvent::RPCFailed { peer_id, id, error }) + } else { debug!( self.log, "Ignoring rpc message of disconnecting peer"; event ); - return None; - } + None + }; } let handler_id = event.conn_id;