htlcswitch: add new LinkFailureDisconnect action

In this commit, we add a new LinkFailureDisconnect action that'll be
used if we detect that the remote party hasn't sent a revoke and ack
when it actually should.

Before this commit, we would log our action, tear down the link, but
then not actually force a connection recycle, as we assumed that if the
TCP connection was actually stale, then the read/write timeout would
expire.

In practice this doesn't always seem to be the case, so we make a strong
action here to actually force a disconnection in hopes that either side
will reconnect and keep the good times rollin' 🕺.
This commit is contained in:
Olaoluwa Osuntokun committed 2023-05-23 12:25:11 -07:00
1 parent cb5fc71659
commit 4d633f04e3
5 files changed
+40 -12

No files matched your search

+12 -3
View File
@@ -1,10 +1,10 @@
# Release Notes
## Mempool
## Mempool Optimizations
* Optimized [mempool
management](https://github.com/lightningnetwork/lnd/pull/7681) to lower the CPU
usage.
management](https://github.com/lightningnetwork/lnd/pull/7681) to lower the
CPU usage.
## Misc
@@ -12,7 +12,16 @@ usage.
all macaroon DB root keys on `ChangePassword`/`GenerateNewRootKey`
respectively.
## Channel Link Bug Fix
* If we detect the remote link is inactive, [we'll now tear down the
connection](https://github.com/lightningnetwork/lnd/pull/7711) in addition to
stopping the link's statemachine. If we're persistently connected with the
peer, then this'll force a reconnect, which may restart things and help avoid
certain force close scenarios.
# Contributors (Alphabetical Order)
* Elle Mouton
* Olaoluwa Osuntokun
* Yong Yu