Skip to content

Commit 6979e17

Browse files
authored
fix: flaky Kademlia test (#7002)
1 parent 420a5ab commit 6979e17

4 files changed

Lines changed: 7 additions & 5 deletions

File tree

scripts/tests/calibnet_kademlia_check.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ echo "Stateless node peer id: $STATELESS_NODE_PEER_ID"
1818
CONFIG_PATH="./forest_config.toml"
1919
cat <<- EOF > $CONFIG_PATH
2020
[network]
21-
listening_multiaddrs = ["/ip4/127.0.0.1/tcp/0"]
21+
listening_multiaddrs = ["/ip4/127.0.0.1/tcp/0", "/ip4/127.0.0.1/udp/0/quic-v1"]
2222
bootstrap_peers = ["$STATELESS_NODE_ADDRESS"]
2323
mdns = false
2424
kademlia = true

scripts/tests/calibnet_stateless_mode_check.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ forest_init_stateless
1111
STATELESS_NODE_ADDRESS=$($FOREST_CLI_PATH net listen | tail -n 1)
1212
echo "Stateless node address: $STATELESS_NODE_ADDRESS"
1313
# Example format: 12D3KooWAB9z7vZ1x1v9t4BViVkX1Hy1ScoRnWV2GgGy5ec6pfUZ
14-
STATELESS_NODE_PEER_ID=$(echo "$STATELESS_NODE_ADDRESS" | cut --delimiter="/" --fields=7 --zero-terminated)
14+
STATELESS_NODE_PEER_ID=$(echo "$STATELESS_NODE_ADDRESS" | rev | cut --delimiter="/" --fields=1 --zero-terminated | rev)
1515
echo "Stateless node peer id: $STATELESS_NODE_PEER_ID"
1616

1717
# Run a normal forest node that only connects to the stateless node
1818
CONFIG_PATH="./forest_config.toml"
1919
cat <<- EOF > $CONFIG_PATH
2020
[network]
21-
listening_multiaddrs = ["/ip4/127.0.0.1/tcp/0"]
21+
listening_multiaddrs = ["/ip4/127.0.0.1/tcp/0", "/ip4/127.0.0.1/udp/0/quic-v1"]
2222
bootstrap_peers = ["$STATELESS_NODE_ADDRESS"]
2323
mdns = false
2424
kademlia = false

scripts/tests/harness.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function forest_run_node_stateless_detached {
8383
data_dir = "/tmp/stateless_forest_data"
8484
8585
[network]
86-
listening_multiaddrs = ["/ip4/127.0.0.1/tcp/0"]
86+
listening_multiaddrs = ["/ip4/127.0.0.1/tcp/0", "/ip4/127.0.0.1/udp/0/quic-v1"]
8787
EOF
8888

8989
$FOREST_PATH --chain calibnet --encrypt-keystore false --config "$CONFIG_PATH" --log-dir "$LOG_DIRECTORY" --save-token ./stateless_admin_token --stateless &

src/libp2p/peer_manager.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ impl PeerManager {
162162
let peer_stats = peers.full_peers.entry(*peer).or_default();
163163
peer_stats.successes += 1;
164164
log_time(peer_stats, dur);
165+
metrics::FULL_PEERS.set(peers.full_peers.len() as i64);
165166
}
166167

167168
/// Logs a failure for the given peer, and updates the average request
@@ -177,6 +178,7 @@ impl PeerManager {
177178
let peer_stats = peers.full_peers.entry(*peer).or_default();
178179
peer_stats.failures += 1;
179180
log_time(peer_stats, dur);
181+
metrics::FULL_PEERS.set(peers.full_peers.len() as i64);
180182
}
181183

182184
/// Removes a peer from the set and returns true if the value was present
@@ -316,7 +318,7 @@ impl PeerManager {
316318

317319
fn remove_peer(peers: &mut PeerSets, peer_id: &PeerId) {
318320
if peers.full_peers.remove(peer_id).is_some() {
319-
metrics::FULL_PEERS.set(peers.full_peers.len() as _);
321+
metrics::FULL_PEERS.set(peers.full_peers.len() as i64);
320322
}
321323
trace!(
322324
"removing peer {peer_id}, remaining chain exchange peers: {}",

0 commit comments

Comments
 (0)