Skip to content

Commit 3ebc19f

Browse files
committed
ETCM-168: Logging neighbor counts.
1 parent e9fd274 commit 3ebc19f

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

scalanet/discovery/src/io/iohk/scalanet/discovery/ethereum/v4/DiscoveryService.scala

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,8 @@ object DiscoveryService {
777777
def loop(
778778
local: Node,
779779
closest: SortedSet[Node],
780-
asked: Set[Node]
780+
asked: Set[Node],
781+
neighbors: Set[Node]
781782
): Task[SortedSet[Node]] = {
782783
// Contact the alpha closest nodes to the target that we haven't asked before.
783784
val contacts = closest
@@ -787,24 +788,31 @@ object DiscoveryService {
787788
.toList
788789

789790
if (contacts.isEmpty) {
790-
Task(logger.debug(s"Lookup finished for $target after asking ${asked.size} nodes.")).as(closest)
791+
Task(
792+
logger.debug(s"Lookup for $target finished; asked ${asked.size} nodes, found ${neighbors.size} neighbors.")
793+
).as(closest)
791794
} else {
792-
Task(logger.debug(s"Lookup for $target contacting ${contacts.size} nodes.")) >>
795+
Task(
796+
logger.debug(s"Lookup for $target contacting ${contacts.size} new nodes; asked ${asked.size} nodes so far.")
797+
) >>
793798
Task
794799
.parTraverseUnordered(contacts)(fetchNeighbors)
795800
.map(_.flatten.distinct)
796801
.flatMap(bondNeighbors)
797802
.flatMap { newNeighbors =>
798-
val newClosest = (closest ++ newNeighbors).take(config.kademliaBucketSize)
799-
val newAsked = asked ++ contacts
800-
loop(local, newClosest, newAsked)
803+
val nextClosest = (closest ++ newNeighbors).take(config.kademliaBucketSize)
804+
val nextAsked = asked ++ contacts
805+
val nextNeighbors = neighbors ++ newNeighbors
806+
val newClosest = nextClosest diff closest
807+
Task(logger.debug(s"Lookup for $target found ${newClosest.size} neighbors closer than before.")) >>
808+
loop(local, nextClosest, nextAsked, nextNeighbors)
801809
}
802810
}
803811
}
804812

805813
init.flatMap {
806814
case (localNode, closestNodes) =>
807-
loop(localNode, closest = SortedSet(closestNodes: _*), asked = Set(localNode))
815+
loop(localNode, closest = SortedSet(closestNodes: _*), asked = Set(localNode), neighbors = closestNodes.toSet)
808816
}
809817
}
810818

0 commit comments

Comments
 (0)