htlcswitch/link: revert borking channels on received Errors

Since it turned out borking channels on every received error could cause
us to bork channels in case of a sync error with C-lightning, we revert
this for now.
This commit is contained in:
Johan T. Halseth 2020-11-23 14:42:41 +01:00
parent ca91d50884
commit 87cdf3b797
No known key found for this signature in database
GPG Key ID: 15BAADA29DA20D26
2 changed files with 12 additions and 3 deletions

@ -1903,7 +1903,14 @@ func (l *channelLink) handleUpstreamMsg(msg lnwire.Message) {
l.fail( l.fail(
LinkFailureError{ LinkFailureError{
code: ErrRemoteError, code: ErrRemoteError,
PermanentFailure: true,
// TODO(halseth): we currently don't fail the
// channel permanently, as there are some sync
// issues with other implementations that will
// lead to them sending an error message, but
// we can recover from on next connection. See
// https://github.com/ElementsProject/lightning/issues/4212
PermanentFailure: false,
}, },
"ChannelPoint(%v): received error from peer: %v", "ChannelPoint(%v): received error from peer: %v",
l.channel.ChannelPoint(), msg.Error(), l.channel.ChannelPoint(), msg.Error(),

@ -5273,7 +5273,9 @@ func TestChannelLinkFail(t *testing.T) {
c.HandleChannelUpdate(err) c.HandleChannelUpdate(err)
}, },
false, false,
true, // TODO(halseth) For compatibility with CL we currently
// don't treat Errors as permanent errors.
false,
}, },
} }