From 3761fe31615ca47ebad2bd678bd400e841b7eb53 Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Wed, 2 Dec 2020 17:34:05 +0100 Subject: [PATCH] Show reputation changes when dropping peer (#7655) * Show reputation changes when dropping peer * Print all --- substrate/client/peerset/src/lib.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/substrate/client/peerset/src/lib.rs b/substrate/client/peerset/src/lib.rs index b3284533a8..bb08bdc18e 100644 --- a/substrate/client/peerset/src/lib.rs +++ b/substrate/client/peerset/src/lib.rs @@ -103,7 +103,7 @@ impl PeersetHandle { pub fn set_reserved_only(&self, reserved: bool) { let _ = self.tx.unbounded_send(Action::SetReservedOnly(reserved)); } - + /// Set reserved peers to the new set. pub fn set_reserved_peers(&self, peer_ids: HashSet) { let _ = self.tx.unbounded_send(Action::SetReservedPeers(peer_ids)); @@ -252,7 +252,7 @@ impl Peerset { fn on_remove_reserved_peer(&mut self, peer_id: PeerId) { self.on_remove_from_priority_group(RESERVED_NODES, peer_id); } - + fn on_set_reserved_peers(&mut self, peer_ids: HashSet) { self.on_set_priority_group(RESERVED_NODES, peer_ids); } @@ -357,8 +357,18 @@ impl Peerset { ); } }, - peersstate::Peer::NotConnected(mut peer) => peer.add_reputation(change.value), - peersstate::Peer::Unknown(peer) => peer.discover().add_reputation(change.value), + peersstate::Peer::NotConnected(mut peer) => { + trace!(target: "peerset", "Report {}: {:+} to {}. Reason: {}", + peer_id, change.value, peer.reputation(), change.reason + ); + peer.add_reputation(change.value) + }, + peersstate::Peer::Unknown(peer) => { + trace!(target: "peerset", "Discover {}: {:+}. Reason: {}", + peer_id, change.value, change.reason + ); + peer.discover().add_reputation(change.value) + }, } } @@ -555,8 +565,6 @@ impl Peerset { /// Must only be called after the PSM has either generated a `Connect` message with this /// `PeerId`, or accepted an incoming connection with this `PeerId`. pub fn dropped(&mut self, peer_id: PeerId) { - trace!(target: "peerset", "Dropping {:?}", peer_id); - // We want reputations to be up-to-date before adjusting them. self.update_time(); @@ -564,6 +572,8 @@ impl Peerset { peersstate::Peer::Connected(mut entry) => { // Decrease the node's reputation so that we don't try it again and again and again. entry.add_reputation(DISCONNECT_REPUTATION_CHANGE); + trace!(target: "peerset", "Dropping {}: {:+} to {}", + peer_id, DISCONNECT_REPUTATION_CHANGE, entry.reputation()); entry.disconnect(); } peersstate::Peer::NotConnected(_) | peersstate::Peer::Unknown(_) =>