bd9f1b597e
In this commit we fix an lingering bug in the Mission Control logic we execute in response to the FailUnknownNextPeer error. Historically, we would treat this as the _next_ node not being online. As a result, we would then prune away the vertex from the current reachable graph all together. It was recently realized, that this would at times be a bit _tooo_ aggressive if the channel we attempt to route over was faulty, down, or the incoming node had connectivity issues with the outgoing node. In light of this realization, we'll now instead only prune the _edge_ that we attempted to route over. This ensures that we'll continue to explore the possible edges. Additionally, this guards us against failure modes where nodes report FailUnknownNextPeer to other nodes in an attempt to more closely control our retry logic. This change is a stop gap on the path to a more intelligent set of autopilot heuristics. Fixes #1114. |
||
---|---|---|
.. | ||
chainview | ||
testdata | ||
errors.go | ||
graph.go | ||
heap_test.go | ||
heap.go | ||
log.go | ||
missioncontrol.go | ||
notifications_test.go | ||
notifications.go | ||
pathfind_test.go | ||
pathfind.go | ||
README.md | ||
router_test.go | ||
router.go | ||
validation_barrier.go |
routing
The routing package implements authentication+validation of channel announcements, pruning of the channel graph, path finding within the network, sending outgoing payments into the network and synchronizing new peers to our channel graph state.
Installation and Updating
$ go get -u github.com/lightningnetwork/lnd/routing