Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(kad): reduce noise of "remote supports our protocol" log #4278

Merged
merged 10 commits into from
Aug 7, 2023
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ libp2p-quic = { version = "0.9.0-alpha", path = "transports/quic" }
libp2p-relay = { version = "0.16.1", path = "protocols/relay" }
libp2p-rendezvous = { version = "0.13.0", path = "protocols/rendezvous" }
libp2p-request-response = { version = "0.25.1", path = "protocols/request-response" }
libp2p-swarm = { version = "0.43.2", path = "swarm" }
libp2p-swarm = { version = "0.43.3", path = "swarm" }
libp2p-swarm-derive = { version = "0.33.0", path = "swarm-derive" }
libp2p-swarm-test = { version = "0.2.0", path = "swarm-test" }
libp2p-tcp = { version = "0.40.0", path = "transports/tcp" }
Expand Down
3 changes: 3 additions & 0 deletions protocols/kad/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

- Implement common traits on `RoutingUpdate`.
See [PR 4270].
- Reduce noise of "remote supports our protocol" log.
See [PR 4278].

[PR 4270]: https://github.com/libp2p/rust-libp2p/pull/4270
[PR 4278]: https://github.com/libp2p/rust-libp2p/pull/4278

## 0.44.3

Expand Down
2 changes: 2 additions & 0 deletions protocols/kad/src/behaviour.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2081,6 +2081,7 @@ where
connected_point,
peer,
self.mode,
connection_id,
))
}

Expand All @@ -2103,6 +2104,7 @@ where
connected_point,
peer,
self.mode,
connection_id,
))
}

Expand Down
21 changes: 14 additions & 7 deletions protocols/kad/src/handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ use libp2p_swarm::handler::{
ConnectionEvent, DialUpgradeError, FullyNegotiatedInbound, FullyNegotiatedOutbound,
};
use libp2p_swarm::{
ConnectionHandler, ConnectionHandlerEvent, KeepAlive, Stream, StreamUpgradeError,
ConnectionHandler, ConnectionHandlerEvent, ConnectionId, KeepAlive, Stream, StreamUpgradeError,
SubstreamProtocol, SupportedProtocols,
};
use log::trace;
Expand Down Expand Up @@ -94,6 +94,9 @@ pub struct KademliaHandler {
protocol_status: ProtocolStatus,

remote_supported_protocols: SupportedProtocols,

/// The ID of this connection.
connection_id: ConnectionId,
}

/// The states of protocol confirmation that a connection
Expand Down Expand Up @@ -474,6 +477,7 @@ impl KademliaHandler {
endpoint: ConnectedPoint,
remote_peer_id: PeerId,
mode: Mode,
connection_id: ConnectionId,
) -> Self {
match &endpoint {
ConnectedPoint::Dialer { .. } => {
Expand Down Expand Up @@ -504,6 +508,7 @@ impl KademliaHandler {
keep_alive,
protocol_status: ProtocolStatus::Unknown,
remote_supported_protocols: Default::default(),
connection_id,
}
}

Expand Down Expand Up @@ -803,17 +808,19 @@ impl ConnectionHandler for KademliaHandler {
match (remote_supports_our_kademlia_protocols, self.protocol_status) {
(true, ProtocolStatus::Confirmed | ProtocolStatus::Reported) => {}
(true, _) => {
log::info!(
"Remote {} now supports our kademlia protocol",
self.remote_peer_id
log::debug!(
"Remote {} now supports our kademlia protocol on connection {}",
self.remote_peer_id,
self.connection_id,
);

self.protocol_status = ProtocolStatus::Confirmed;
}
(false, ProtocolStatus::Confirmed | ProtocolStatus::Reported) => {
log::info!(
"Remote {} no longer supports our kademlia protocol",
self.remote_peer_id
log::debug!(
"Remote {} no longer supports our kademlia protocol on connection {}",
self.remote_peer_id,
self.connection_id,
);

self.protocol_status = ProtocolStatus::NotSupported;
Expand Down
7 changes: 7 additions & 0 deletions swarm/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 0.43.3 - unreleased

- Implement `Display` for `ConnectionId`.
See [PR 4278].

[PR 4278]: https://github.com/libp2p/rust-libp2p/pull/4278

## 0.43.2
- Display the cause of a `ListenError::Denied`.
See [PR 4232]
Expand Down
2 changes: 1 addition & 1 deletion swarm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-swarm"
edition = "2021"
rust-version = { workspace = true }
description = "The libp2p swarm"
version = "0.43.2"
version = "0.43.3"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
7 changes: 7 additions & 0 deletions swarm/src/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ use libp2p_core::upgrade::{NegotiationError, ProtocolError};
use libp2p_core::Endpoint;
use libp2p_identity::PeerId;
use std::collections::HashSet;
use std::fmt::{Display, Formatter};
use std::future::Future;
use std::sync::atomic::{AtomicUsize, Ordering};
use std::task::Waker;
Expand Down Expand Up @@ -82,6 +83,12 @@ impl ConnectionId {
}
}

impl Display for ConnectionId {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
write!(f, "{}", self.0)
}
}
thomaseizinger marked this conversation as resolved.
Show resolved Hide resolved

/// Information about a successfully established connection.
#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) struct Connected {
Expand Down
Loading