Skip to content

fix(kad): add configurable option to purge stale entries on bucketrefreshInterval#2139

Draft
chaitanyaprem wants to merge 1 commit intomasterfrom
fix/kad-purge-stale-entries
Draft

fix(kad): add configurable option to purge stale entries on bucketrefreshInterval#2139
chaitanyaprem wants to merge 1 commit intomasterfrom
fix/kad-purge-stale-entries

Conversation

@chaitanyaprem
Copy link
Contributor

@chaitanyaprem chaitanyaprem commented Feb 27, 2026

Summary

Nodes such as logos-delivery/waku that don't have persistent node-keys would cause DHT bloat due to restarts. This happens especially apps that are running kademlia as each restart creates a new peerID.

Added config flag for users to define this behaviour of purging stale entries on bucketRefreshInterval with default behaviour being not do do anything.

@SionoiS , @tinniaru3005 @jm-clius wdyt? Does this solve the issue observed while testing with fleet or we need to do something else?

Affected Areas

  • Peer Management / Discovery

Compatibility & Downstream Validation

Reference PRs / branches / commits demonstrating successful integration:

@chaitanyaprem chaitanyaprem force-pushed the fix/kad-purge-stale-entries branch from 2e1dd50 to 01574ab Compare February 27, 2026 06:04
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds a configurable option to purge stale routing table entries during DHT maintenance cycles. The feature addresses routing table bloat caused by nodes with non-persistent keys that restart frequently, creating new peer IDs each time. The implementation adds a purgeStaleEntries configuration flag (default: false) that, when enabled, removes routing table entries older than 30 minutes during each bootstrap cycle (which runs every 10 minutes).

Changes:

  • Added purgeStaleEntries configuration field to RoutingTableConfig and KadDHTConfig with default value of false
  • Implemented purgeExpired() method in routing table to remove stale entries when enabled
  • Added comprehensive test coverage for the new purging functionality

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
libp2p/protocols/kademlia/types.nim Adds purgeStaleEntries configuration field to both RoutingTableConfig and KadDHTConfig with documentation
libp2p/protocols/kademlia/routingtable.nim Implements purgeExpired() method that removes stale entries based on configuration
libp2p/protocols/kademlia.nim Integrates purgeExpired() call at the start of bootstrap and passes configuration through
tests/libp2p/kademlia/test_routingtable.nim Adds 4 comprehensive tests covering default behavior, purging, selective removal, and multi-bucket scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

## Sends a findNode to find itself to keep nearby peers up to date
## Also sends a findNode to find a random key for each non-empty k-bucket

kad.rtable.purgeExpired()
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There appears to be a discrepancy between the PR description and the linked issue. The linked issue #2134 discusses "KadDHT put values never expire" and mentions expiring KV pairs stored via putValue messages. However, this PR addresses stale routing table entries (peers), not KV pairs. While both are valid concerns about DHT bloat, they are different problems. Please verify that this PR is solving the intended problem or update the issue reference accordingly.

Copilot uses AI. Check for mistakes.
Comment on lines +152 to +161
let before = rtable.buckets[i].peers.len
rtable.buckets[i].peers.keepItIf(now - it.lastSeen <= DefaultBucketStaleTime)
let purged = before - rtable.buckets[i].peers.len
if purged > 0:
debug "Purged stale routing table entries", bucketIdx = i, count = purged
totalPurged += purged

if totalPurged > 0:
kad_routing_table_replacements.inc(totalPurged)
updateRoutingTableMetrics(rtable)
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kad_routing_table_replacements metric is semantically incorrect for purging operations. This metric tracks "peer replacements" which implies one peer is replaced by another (as seen in line 111 where it's used when replaceOldest is called). Purging stale entries removes peers without replacing them. Consider adding a new metric kad_routing_table_removals or kad_routing_table_purged to properly track this distinct operation.

Suggested change
let before = rtable.buckets[i].peers.len
rtable.buckets[i].peers.keepItIf(now - it.lastSeen <= DefaultBucketStaleTime)
let purged = before - rtable.buckets[i].peers.len
if purged > 0:
debug "Purged stale routing table entries", bucketIdx = i, count = purged
totalPurged += purged
if totalPurged > 0:
kad_routing_table_replacements.inc(totalPurged)
updateRoutingTableMetrics(rtable)
let before = rtable.buckets[i].peers.len
rtable.buckets[i].peers.keepItIf(now - it.lastSeen <= DefaultBucketStaleTime)
let purged = before - rtable.buckets[i].peers.len
if purged > 0:
debug "Purged stale routing table entries", bucketIdx = i, count = purged
totalPurged += purged
if totalPurged > 0:
updateRoutingTableMetrics(rtable)

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Contributor

🏁 Performance Summary

Commit: 01574ab941d2ccb82c583a78b297d1a61efe3ed7

Scenario Nodes Total messages sent Total messages received Latency min (ms) Latency max (ms) Latency avg (ms)
❌ Base Test (QUIC) 10 100 621 13.574 12129.822 4846.652
✅ Base Test (TCP) 10 100 900 0.425 2.738 1.389

📊 View Container Resources in the Workflow Summary

Latency History

🔵 Min • 🟢 Avg • 🔴 Max

%%{init: {"xyChart": {"width": 500, "height": 200}}}%%
xychart-beta
    title "TCP"
    x-axis "PR Number" 1599 --> 2139
    y-axis "Latency (ms)"
    line "Min" [0.315, 0.429, 0.308, 0.349, 0.397, 0.259, 0.317, 0.333, 0.266, 0.278, 0.322, 0.300, 0.301, 0.302, 0.263, 0.338, 0.288, 0.308, 0.318, 0.313, 0.358, 0.317, 0.274, 0.293, 0.278, 0.312, 0.308, 0.280, 0.296, 0.292, 0.296, 0.296, 0.437, 0.265, 0.444, 0.396, 0.323, 0.305, 0.305, 0.293, 0.333, 0.322, 0.370, 0.273, 0.338, 0.275, 0.318, 0.322, 0.405, 0.278, 0.325, 0.297, 0.275, 0.297, 0.280, 0.277, 0.407, 0.304, 0.329, 0.319, 0.372, 0.289, 0.317, 0.262, 0.298, 0.376, 0.331, 0.257, 0.286, 0.299, 0.267, 0.530, 0.277, 0.240, 0.266, 0.424, 0.235, 0.261, 0.364, 0.422, 0.274, 0.297, 0.313, 0.291, 0.317, 0.356, 0.274, 0.222, 0.290, 0.253, 0.319, 0.268, 0.303, 0.246, 0.304, 0.316, 0.217, 0.252, 0.431, 0.247, 0.291, 0.267, 0.297, 0.392, 0.267, 0.335, 0.447, 0.289, 0.251, 0.361, 0.400, 0.393, 0.323, 0.267, 0.357, 0.284, 0.266, 0.319, 0.284, 0.299, 0.340, 0.323, 0.239, 0.300, 0.323, 0.339, 0.274, 0.272, 0.342, 0.594, 0.341, 0.254, 0.492, 0.404, 0.499, 0.418, 0.565, 0.343, 0.537, 0.486, 0.487, 0.497, 0.532, 0.582, 0.544, 0.482, 0.502, 0.464, 0.463, 0.510, 0.496, 0.424, 0.363, 0.437, 0.505, 0.484, 0.449, 0.453, 0.648, 0.572, 0.494, 0.498, 0.466, 0.528, 0.407, 0.503, 0.424, 0.473, 0.380, 0.535, 0.423, 0.493, 0.465, 0.439, 0.428, 0.467, 0.492, 0.461, 0.458, 0.469, 0.513, 0.532, 0.414, 0.379, 0.462, 0.462, 0.458, 0.466, 0.450, 0.432, 0.457, 0.424, 0.502, 0.446, 0.420, 0.515, 0.448, 0.438, 0.503, 0.542, 0.392, 0.516, 0.465, 0.457, 0.470, 0.529, 0.444, 0.409, 0.485, 0.377, 0.392, 0.555, 0.369, 0.320, 0.528, 0.448, 0.465, 0.487, 0.433, 0.549, 0.351, 0.323, 0.373, 0.471, 0.519, 0.493, 0.372, 0.420, 0.389, 0.426, 0.399, 0.365, 0.425, 0.463, 0.602, 0.492, 0.569, 0.500, 0.536, 0.525, 0.456, 0.422, 0.360, 0.535, 0.403, 0.563, 0.531, 0.537, 0.435, 0.512, 0.585, 0.474, 0.447, 0.370, 0.540, 0.501, 0.404, 0.560, 0.401, 0.477, 0.394, 0.326, 0.393, 0.410, 0.505, 0.383, 0.278, 0.479, 0.377, 0.467, 0.497, 0.320, 0.440, 0.434, 0.500, 0.346, 0.477, 0.456, 0.394, 0.353, 0.445, 0.492, 0.365, 0.485, 0.377, 0.450, 0.395, 0.355, 0.281, 0.344, 0.502, 0.459, 0.445, 0.422, 0.502, 0.405, 0.487, 0.499, 0.393, 0.469, 0.352, 0.395, 0.590, 0.332, 0.374, 0.490, 0.379, 0.536, 0.428, 0.484, 0.342, 0.562, 0.390, 0.488, 0.374, 0.389, 0.485, 0.355, 0.446, 0.503, 0.357, 0.499, 0.355, 0.435, 0.345, 0.441, 0.462, 0.429, 0.449, 0.495, 0.464, 0.372, 0.426, 0.437, 0.430, 0.510, 0.405, 0.466, 0.463, 0.455, 0.450, 0.325, 0.557, 0.317, 0.463, 0.442, 0.491, 0.596, 0.459, 0.499, 0.516, 0.422, 0.349, 0.399, 0.422, 0.499, 0.425, 0.462, 0.561, 0.391, 0.565, 0.448, 0.410, 0.524, 0.438, 0.473, 0.471, 0.396, 0.484, 0.314, 0.392, 0.489, 0.431, 0.616, 0.483, 0.451, 0.476, 0.364, 0.308, 0.474, 0.452, 0.546, 0.382, 0.507, 0.425]
    line "Avg" [1.042, 1.134, 1.015, 1.035, 1.177, 0.899, 1.040, 1.085, 0.860, 1.015, 1.020, 0.945, 0.986, 1.074, 0.899, 0.975, 0.958, 1.027, 0.959, 1.047, 1.103, 1.046, 0.908, 0.882, 0.896, 1.064, 1.011, 0.957, 0.991, 0.923, 0.867, 0.959, 1.126, 0.910, 1.125, 1.085, 0.983, 1.049, 1.053, 1.056, 1.080, 0.989, 1.137, 1.007, 1.062, 0.874, 1.065, 1.137, 1.321, 0.852, 1.080, 0.991, 1.003, 1.017, 0.971, 1.068, 1.026, 1.054, 1.100, 1.054, 1.087, 0.961, 0.886, 0.878, 1.028, 1.247, 1.023, 0.887, 1.015, 0.952, 0.875, 1.716, 1.003, 0.997, 0.982, 1.178, 0.804, 0.839, 1.092, 1.110, 0.850, 1.026, 0.996, 0.959, 1.046, 1.083, 0.907, 0.852, 0.933, 0.953, 1.103, 0.932, 1.033, 0.974, 0.901, 1.042, 0.807, 0.838, 1.146, 1.110, 0.967, 0.981, 0.902, 1.065, 0.980, 1.053, 1.187, 0.955, 0.857, 1.106, 1.137, 1.130, 1.215, 1.003, 1.135, 0.933, 0.939, 0.997, 0.910, 0.949, 1.081, 1.009, 0.860, 1.047, 0.958, 0.999, 1.007, 0.870, 1.585, 1.622, 1.666, 0.923, 1.652, 1.383, 1.573, 1.415, 1.903, 1.399, 1.464, 1.422, 1.637, 1.594, 1.636, 1.531, 1.644, 1.674, 1.504, 1.422, 1.780, 1.681, 1.519, 1.252, 1.365, 1.539, 1.592, 1.591, 1.708, 1.391, 1.909, 1.760, 1.483, 1.432, 1.549, 1.699, 1.448, 1.533, 1.597, 1.353, 1.221, 1.833, 1.523, 1.475, 1.355, 1.485, 1.827, 1.522, 1.602, 1.429, 1.607, 1.528, 1.480, 1.731, 1.834, 1.308, 1.853, 1.399, 1.696, 1.611, 1.365, 1.297, 1.469, 1.585, 1.775, 1.350, 1.401, 1.732, 1.582, 1.506, 1.410, 1.592, 1.339, 1.465, 1.328, 1.384, 1.545, 1.439, 1.414, 1.779, 1.433, 1.428, 2.023, 1.749, 1.435, 1.495, 1.427, 1.421, 1.487, 1.588, 1.243, 1.510, 1.339, 1.793, 1.222, 1.716, 1.607, 1.468, 1.575, 1.487, 1.583, 1.543, 1.501, 1.412, 1.390, 1.738, 1.691, 1.521, 1.740, 1.568, 1.656, 1.458, 1.405, 1.646, 1.517, 1.491, 1.850, 1.591, 1.589, 1.408, 1.450, 1.703, 1.954, 1.537, 1.484, 1.333, 1.528, 1.374, 1.373, 1.805, 1.378, 1.464, 1.718, 1.326, 1.463, 1.337, 1.369, 1.274, 1.123, 1.551, 1.448, 1.544, 1.470, 1.385, 1.926, 1.644, 1.432, 1.374, 1.504, 1.464, 1.349, 1.259, 1.651, 1.696, 1.151, 1.539, 1.349, 1.415, 1.364, 1.295, 1.175, 1.138, 1.470, 1.367, 1.442, 1.517, 1.372, 1.355, 1.417, 1.693, 1.279, 1.427, 1.301, 1.172, 1.544, 1.477, 1.315, 1.379, 1.451, 1.667, 1.350, 1.548, 1.139, 1.400, 1.363, 1.374, 1.158, 1.385, 1.527, 1.349, 1.797, 1.471, 1.375, 1.423, 1.392, 1.411, 1.483, 1.376, 1.355, 1.596, 1.375, 1.967, 1.475, 1.325, 1.726, 1.541, 1.395, 1.403, 1.313, 1.639, 1.507, 1.370, 1.333, 1.365, 1.460, 1.150, 1.388, 1.408, 1.400, 1.548, 1.334, 1.526, 1.709, 1.490, 1.490, 1.344, 1.483, 1.903, 1.401, 1.300, 1.467, 1.414, 1.506, 1.581, 1.306, 1.628, 1.658, 1.391, 1.459, 1.342, 1.422, 1.272, 1.057, 1.416, 1.315, 1.525, 1.305, 1.592, 1.870, 1.278, 1.374, 1.464, 1.383, 1.468, 1.166, 1.589, 1.389]
    line "Max" [2.298, 2.513, 2.647, 2.370, 2.486, 2.258, 2.316, 2.407, 2.065, 3.120, 2.328, 2.193, 2.359, 2.398, 2.082, 2.241, 2.339, 2.187, 2.267, 2.268, 2.480, 2.591, 2.231, 1.950, 2.493, 2.596, 2.270, 2.198, 2.587, 2.539, 1.811, 2.355, 2.373, 2.516, 2.368, 2.412, 2.166, 2.482, 2.401, 2.505, 2.396, 2.211, 2.686, 2.876, 2.527, 2.543, 2.441, 2.495, 3.568, 2.073, 2.354, 2.257, 2.217, 2.562, 2.383, 3.300, 2.337, 2.394, 2.521, 2.316, 2.490, 2.352, 2.218, 2.233, 2.267, 2.836, 2.352, 2.316, 2.371, 2.306, 1.972, 3.568, 2.457, 2.517, 2.295, 2.685, 1.995, 1.988, 2.495, 2.309, 2.154, 2.482, 2.433, 2.387, 2.387, 2.335, 2.411, 2.018, 2.145, 2.515, 2.441, 2.129, 2.243, 2.354, 2.225, 2.359, 2.232, 2.120, 3.212, 3.323, 2.256, 2.348, 2.230, 2.484, 2.177, 2.245, 2.542, 2.492, 2.067, 2.443, 2.400, 2.524, 2.732, 2.678, 2.575, 2.320, 2.945, 2.775, 2.175, 2.225, 2.827, 2.412, 2.462, 2.354, 2.303, 2.117, 2.404, 2.228, 3.568, 3.422, 3.568, 2.286, 3.568, 3.568, 3.568, 3.112, 3.568, 3.568, 3.349, 3.582, 3.568, 3.568, 3.568, 3.211, 3.568, 3.568, 3.401, 3.568, 3.568, 3.568, 3.568, 2.844, 3.133, 3.568, 3.568, 3.568, 3.568, 3.568, 3.568, 6.031, 3.568, 3.255, 3.568, 3.568, 3.540, 3.694, 3.568, 3.391, 2.740, 3.568, 3.568, 3.568, 3.214, 3.373, 3.568, 3.568, 3.568, 3.161, 3.568, 3.568, 4.087, 3.568, 3.568, 3.568, 3.568, 3.399, 3.569, 3.568, 3.367, 2.849, 3.604, 3.568, 3.568, 2.639, 3.568, 3.286, 3.568, 3.366, 2.914, 3.014, 2.823, 3.114, 2.886, 3.056, 3.270, 3.034, 2.635, 3.230, 3.017, 2.801, 3.696, 3.013, 2.960, 2.848, 3.011, 3.047, 2.859, 41.554, 2.632, 3.259, 2.632, 41.585, 2.622, 41.150, 3.285, 3.016, 2.941, 2.964, 40.959, 2.960, 2.646, 2.909, 2.977, 10.590, 3.118, 3.117, 3.290, 2.948, 3.358, 2.931, 3.021, 41.389, 40.819, 2.907, 41.096, 3.057, 3.185, 2.936, 2.973, 3.208, 3.826, 3.120, 2.892, 2.581, 2.909, 2.755, 2.648, 41.810, 2.699, 2.980, 41.762, 2.849, 28.067, 2.728, 2.818, 2.749, 2.245, 41.012, 2.469, 3.055, 2.727, 2.740, 41.972, 2.812, 2.924, 41.058, 2.867, 2.866, 2.629, 2.511, 2.901, 4.619, 2.468, 2.867, 2.877, 2.844, 2.668, 2.698, 2.348, 2.418, 2.910, 2.699, 2.977, 3.035, 2.878, 2.490, 2.788, 41.808, 2.797, 2.623, 2.652, 2.326, 2.857, 41.055, 2.864, 2.787, 2.488, 41.659, 2.683, 12.924, 2.281, 2.740, 2.709, 2.731, 2.458, 2.929, 2.845, 2.687, 41.508, 2.856, 2.561, 2.853, 2.500, 2.925, 2.747, 2.823, 2.707, 2.930, 2.692, 41.449, 2.989, 2.725, 41.781, 2.712, 2.906, 3.026, 2.867, 40.920, 2.739, 2.785, 2.806, 2.728, 2.911, 2.230, 2.821, 2.778, 2.712, 3.053, 2.752, 2.822, 32.429, 2.801, 2.840, 2.612, 2.840, 41.311, 2.640, 2.743, 2.946, 2.751, 2.840, 41.343, 2.706, 41.052, 41.738, 2.730, 2.881, 2.734, 2.994, 2.451, 2.205, 2.844, 2.841, 3.065, 2.614, 41.010, 41.706, 2.685, 41.299, 2.809, 2.790, 3.111, 2.428, 3.160, 2.738]
Loading
%%{init: {"xyChart": {"width": 500, "height": 200}}}%%
xychart-beta
    title "QUIC"
    x-axis "PR Number" 1685 --> 2139
    y-axis "Latency (ms)"
    line "Min" [0.000, 0.659, 0.000, 0.325, 0.229, 0.000, 0.000, 0.208, 0.223, 0.000, 0.000, 0.000, 0.000, 0.271, 0.203, 0.186, 0.000, 0.219, 0.254, 0.000, 0.000, 0.338, 0.000, 0.000, 0.207, 0.000, 0.221, 0.229, 0.000, 0.322, 0.000, 0.205, 0.000, 0.368, 0.213, 0.000, 0.187, 0.263, 0.179, 0.000, 0.323, 0.000, 0.000, 0.000, 0.000, 0.169, 0.197, 0.000, 0.306, 0.000, 0.000, 0.000, 0.448, 0.000, 0.242, 0.423, 0.000, 0.357, 0.392, 0.000, 0.000, 0.404, 0.364, 0.000, 0.000, 0.424, 0.000, 0.000, 0.000, 0.359, 0.449, 0.296, 0.364, 0.286, 0.000, 0.396, 0.000, 0.336, 0.369, 0.381, 0.370, 0.420, 0.451, 0.407, 0.000, 0.483, 0.583, 0.000, 0.588, 0.528, 0.572, 0.220, 0.368, 0.507, 0.549, 0.387, 0.559, 0.571, 0.609, 0.637, 0.441, 0.491, 0.609, 0.636, 0.586, 0.512, 0.412, 0.535, 0.548, 0.582, 0.592, 0.390, 0.571, 0.660, 0.582, 0.497, 97.063, 0.401, 0.621, 0.589, 0.441, 0.651, 0.563, 0.471, 0.596, 0.600, 0.622, 0.537, 0.688, 0.634, 0.526, 0.646, 0.470, 0.518, 0.477, 0.515, 0.418, 0.571, 0.555, 0.634, 0.629, 0.537, 0.596, 24.886, 0.446, 0.398, 0.643, 0.691, 0.521, 0.565, 0.563, 0.487, 0.550, 95.956, 0.487, 0.473, 0.452, 0.608, 0.468, 0.649, 0.561, 0.663, 0.551, 0.587, 0.623, 0.466, 0.511, 93.744, 0.506, 0.635, 0.581, 0.578, 0.593, 0.651, 0.454, 0.550, 86.830, 12.139, 89.769, 96.799, 41.076, 5.759, 0.306, 76.843, 2.206, 126.818, 99.158, 39.857, 3.384, 71.646, 168.890, 82.693, 0.375, 20.074, 97.045, 20.776, 84.214, 65.765, 73.293, 116.189, 92.954, 1.383, 154.767, 107.357, 28.077, 88.728, 193.222, 0.383, 141.824, 117.469, 0.860, 169.979, 23.653, 64.484, 93.692, 0.616, 80.456, 192.951, 150.355, 27.799, 147.856, 93.766, 88.856, 0.386, 19.143, 114.477, 5.949, 167.471, 45.499, 126.135, 0.702, 25.416, 91.120, 88.201, 67.542, 69.725, 147.273, 138.266, 16.671, 93.623, 9.571, 38.081, 114.306, 1.397, 54.333, 81.533, 122.593, 0.274, 157.109, 90.043, 123.942, 8.337, 165.674, 94.715, 108.998, 8.385, 30.756, 176.358, 106.054, 107.042, 22.650, 34.868, 97.778, 85.581, 96.825, 90.433, 75.663, 17.515, 49.752, 95.417, 107.597, 107.803, 6.139, 36.556, 88.208, 82.175, 122.844, 55.987, 109.452, 8.372, 9.192, 128.043, 167.667, 90.672, 44.656, 66.971, 26.830, 103.097, 141.421, 3.294, 87.297, 30.692, 126.271, 129.127, 15.626, 164.425, 71.549, 19.458, 156.036, 157.754, 56.373, 84.177, 18.709, 45.252, 13.205, 128.197, 114.662, 13.574]
    line "Avg" [1.069, 1.707, 0.259, 1.020, 0.856, 0.725, 0.602, 0.893, 0.875, 0.661, 0.557, 0.731, 0.796, 0.949, 0.726, 0.849, 0.761, 0.718, 0.939, 0.550, 0.561, 0.943, 0.832, 0.807, 0.867, 0.633, 1.098, 0.735, 0.608, 1.008, 0.530, 0.823, 0.822, 1.001, 0.919, 0.789, 0.785, 0.862, 0.741, 0.384, 0.935, 0.539, 0.664, 0.689, 0.829, 0.677, 0.918, 0.625, 0.880, 0.554, 0.506, 0.520, 1.456, 0.838, 0.873, 1.195, 0.824, 1.267, 1.176, 0.885, 0.661, 1.160, 1.118, 0.990, 1.148, 1.215, 1.187, 1.033, 1.098, 1.268, 1.200, 1.277, 1.181, 1.244, 0.863, 1.411, 0.948, 1.204, 1.203, 1.323, 1.341, 1.366, 1.242, 1.218, 1.116, 1.650, 1.700, 1.018, 1.666, 1.618, 1.699, 1.034, 1.254, 1.552, 1.605, 1.509, 1.613, 1.720, 1.646, 1.781, 1.639, 1.600, 1.780, 1.830, 1.749, 1.636, 1.531, 1.607, 1.667, 1.720, 1.716, 1.414, 1.555, 1.760, 1.690, 1.590, 5390.257, 1.385, 1.644, 1.727, 1.561, 1.827, 1.725, 1.688, 1.626, 1.608, 1.643, 1.608, 1.725, 5154.749, 1.668, 1.690, 1.509, 1.661, 1.564, 1.614, 1.552, 1.697, 1.667, 1.601, 1.579, 1.525, 1.757, 3851.139, 1.481, 1.363, 1.692, 1.828, 1.650, 1.622, 1.623, 1.513, 1.718, 5627.192, 1.584, 1.535, 1.474, 1.740, 1.603, 1.708, 1.601, 1.831, 1.668, 1.727, 1.713, 1.390, 1.629, 5590.477, 1.616, 1.757, 1.645, 1.725, 1.835, 1.888, 1.515, 1.779, 5409.980, 3848.162, 5399.785, 5416.218, 4998.964, 3322.711, 5350.006, 3161.317, 4327.767, 5401.011, 5632.122, 4332.595, 3855.381, 5381.677, 5410.850, 5379.698, 5325.159, 3264.026, 5406.406, 2877.535, 5619.791, 4868.868, 4351.924, 5379.625, 5390.526, 4185.356, 4339.007, 5423.830, 5158.805, 3283.025, 5413.886, 3890.990, 5411.251, 5405.579, 4852.987, 5409.863, 4351.513, 5390.920, 5396.125, 4335.383, 4855.550, 5408.860, 5390.895, 3888.237, 5621.775, 5625.948, 5417.174, 3896.849, 4344.756, 5413.523, 3900.135, 5623.754, 3335.108, 5617.380, 3850.418, 4665.434, 5595.328, 5384.307, 4889.007, 3721.125, 5620.378, 5407.198, 3308.973, 4342.471, 5140.244, 3718.243, 5412.590, 5144.053, 4344.548, 5412.891, 3924.338, 2931.478, 5415.198, 5402.052, 5395.892, 3854.647, 5398.117, 5391.637, 5392.571, 4348.617, 3325.866, 5400.059, 5408.404, 5397.747, 4176.113, 2925.300, 5404.648, 5394.377, 5378.834, 5390.525, 5392.560, 4860.619, 3262.850, 5402.160, 5410.038, 5635.350, 5127.366, 4683.742, 5404.889, 4199.567, 5417.110, 5160.625, 5616.142, 4178.387, 3702.273, 5391.620, 5405.152, 5402.813, 3272.403, 5396.641, 4847.051, 5400.038, 5606.169, 3277.114, 5396.479, 3896.048, 5616.611, 5406.428, 5356.652, 5409.433, 4329.298, 5360.559, 5424.065, 3851.661, 5140.022, 5428.513, 3677.528, 3837.267, 4328.047, 5405.144, 5399.423, 4846.652]
    line "Max" [2.783, 6.605, 0.821, 1.944, 1.917, 1.681, 1.573, 1.837, 1.857, 1.782, 1.274, 1.783, 2.676, 2.006, 1.943, 2.179, 1.918, 1.755, 1.959, 1.371, 1.455, 1.958, 2.546, 1.978, 1.997, 1.535, 2.434, 1.934, 1.541, 2.256, 1.587, 1.879, 1.830, 2.144, 1.966, 1.840, 1.831, 1.849, 1.714, 1.796, 2.375, 1.343, 1.580, 1.815, 2.349, 1.672, 1.771, 1.586, 1.984, 1.678, 1.404, 1.476, 3.783, 2.333, 2.056, 2.873, 2.073, 2.809, 2.498, 2.435, 1.792, 2.426, 2.214, 2.181, 2.954, 2.497, 2.517, 2.223, 2.517, 2.560, 2.569, 2.510, 2.509, 2.615, 2.074, 4.512, 2.230, 2.542, 2.512, 3.394, 2.811, 3.227, 2.571, 2.708, 2.375, 3.946, 4.238, 2.346, 4.349, 4.111, 4.722, 2.563, 2.672, 3.922, 4.296, 3.873, 4.155, 4.365, 4.428, 4.471, 4.182, 4.108, 4.544, 4.572, 4.385, 3.944, 4.006, 4.238, 4.119, 4.910, 4.201, 4.154, 3.851, 4.208, 3.972, 4.180, 13384.537, 4.207, 3.611, 4.619, 5.194, 3.998, 3.792, 3.652, 3.594, 3.831, 3.703, 3.748, 3.740, 13416.452, 3.663, 3.740, 3.650, 3.712, 3.473, 3.397, 3.419, 3.935, 3.699, 3.564, 3.483, 3.390, 3.787, 10398.524, 3.437, 3.336, 3.927, 4.142, 3.729, 3.732, 3.619, 3.601, 3.910, 13413.982, 3.649, 3.510, 3.413, 3.825, 3.712, 3.789, 3.649, 4.046, 3.611, 3.966, 3.815, 3.280, 3.618, 13381.920, 3.538, 3.962, 3.473, 3.777, 3.957, 4.089, 3.567, 4.077, 13395.075, 10316.321, 13388.816, 13407.508, 13068.430, 9127.792, 13455.592, 9110.132, 11291.441, 13406.686, 13432.372, 11216.341, 10333.153, 13386.977, 13368.189, 13365.586, 13317.707, 9119.843, 13377.546, 8206.068, 13420.816, 12170.939, 11271.672, 13299.660, 13372.469, 11316.780, 11197.172, 13430.586, 13368.628, 9133.650, 13394.729, 10371.381, 13333.998, 13413.718, 12122.762, 13388.967, 11314.912, 13381.298, 13380.953, 11303.295, 12172.637, 13386.055, 13342.309, 10396.609, 13361.184, 13406.790, 13418.642, 10355.296, 11244.748, 13422.216, 10384.493, 13388.579, 9133.782, 13414.969, 10354.003, 12120.612, 13393.044, 13370.389, 12226.992, 10353.385, 13337.638, 13371.809, 9130.363, 11287.794, 13379.994, 10416.619, 13445.469, 13384.055, 11263.687, 13394.134, 10434.232, 8329.041, 13370.360, 13404.236, 13320.180, 10374.649, 13394.285, 13397.861, 13395.704, 11334.562, 9148.790, 13375.391, 13426.623, 13418.468, 11240.738, 8227.104, 13415.422, 13389.147, 13368.432, 13385.742, 13404.497, 12117.572, 9138.054, 13384.511, 13403.151, 13430.320, 13351.265, 12139.128, 13408.578, 11257.159, 13443.678, 13426.519, 13392.232, 11211.733, 10398.645, 13404.985, 13379.235, 13424.553, 9139.013, 13387.393, 12129.018, 13370.942, 13414.895, 9167.108, 13374.179, 10404.610, 13339.964, 13358.265, 13373.246, 13405.109, 11280.195, 13452.926, 13390.589, 10343.072, 13347.111, 13447.927, 10416.257, 10306.587, 11231.894, 13321.266, 13437.182, 12129.822]
Loading

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.74%. Comparing base (b591801) to head (01574ab).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2139      +/-   ##
==========================================
+ Coverage   72.67%   72.74%   +0.07%     
==========================================
  Files         153      153              
  Lines       18869    18885      +16     
  Branches       19       19              
==========================================
+ Hits        13713    13738      +25     
+ Misses       5156     5147       -9     
Files with missing lines Coverage Δ
libp2p/protocols/kademlia.nim 91.47% <100.00%> (+0.06%) ⬆️
libp2p/protocols/kademlia/routingtable.nim 96.39% <100.00%> (+0.43%) ⬆️
libp2p/protocols/kademlia/types.nim 80.00% <100.00%> (-0.21%) ⬇️

... and 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@SionoiS SionoiS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

We still don't know what the problem is exactly but this can't hurt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: new

Development

Successfully merging this pull request may close these issues.

4 participants