config+itest: allow unsafe disconnect by default#3648
config+itest: allow unsafe disconnect by default#3648cfromknecht merged 4 commits intolightningnetwork:masterfrom
Conversation
42d9e5f to
9fa9e9f
Compare
joostjager
left a comment
There was a problem hiding this comment.
I find it hard to form an opinion about this without references to the original concurrency issues and PRs that fixed those. Perhaps getting a review from someone who reviewed the original fix PRs is more efficient.
good point, i hadn't thought of that 😂 |
halseth
left a comment
There was a problem hiding this comment.
Why do we want to allow this by default? IIRC it was only added to allow disconnecting nodes during testing, I don't think it had to do with any concurrency issues.
@halseth It was both. there were concurrency issues in the peer lifecycle and possibility of duplicate spawning duplicate mailboxes at the time we needed to test with this flag, which have since been resolved via #1658 #1166 #1551 #982 #821 and probably others i'm missing. prior to those changes the link's mailbox could have desynced and caused a channel closure, and preventing disconnects made it less likely to happen as a result of user behavior. that was the rationale behind naming it
There are subtle issues that can be resolved by simply disconnecting and reconnecting to your peer. For most who don't know about this option, they need to restart just to be able to disconnect from a channel partner. Our own node operator guide even suggests using this option. |
Ok, cool. I think that should be the argument for enabling this by default now, so maybe add that to the PR description? :) |
Roasbeef
left a comment
There was a problem hiding this comment.
LGTM ☄️
Only some minor commit nits.
This will allow us to start Alice and Bob with additional arguments once we switch to making unsafe-disconnect true by default.
predErr wasn't always being set when the predicate failed, replace with wait.NoError.
This commit beings the process of deprecating unsafe-disconnect. Many moons ago this was disallowed to prevent concurency bugs surrounding reconnect. Despite the name, it has been safe to enable this feature for well over a year, as several PRs have been merged that addressed the possible issues that existed when the feature was added.
9fa9e9f to
216b933
Compare
This commit beings the process of deprecating unsafe-disconnect. Many
moons ago this was disallowed to prevent concurency bugs surrounding
reconnect. Despite the name, it has been safe to enable this feature for
well over a year, as several PRs have been merged that addressed the
possible issues that existed when the feature was added.