From 64d3f3be26d9dc8a9f9220ae1ff074f18efdbdad Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 3 Apr 2023 14:19:05 +0930 Subject: [PATCH] channel: don't log scary disconnect message on unowned channels. We always call channel_fail_transient() on all channels when a peer connects, to clean up any previous connections. However, when we startup, this channel doesn't have an owner yet, resulting in a fairly weird INFO level message. Reported-by: Michael Schmook @mschmook Signed-off-by: Rusty Russell Changelog-Fixed: `lightningd`: don't log gratuitous "Peer transient failure" message on first connection after restart. --- lightningd/channel.c | 4 ++++ tests/test_connection.py | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lightningd/channel.c b/lightningd/channel.c index f5af2a18a..b98c9ec12 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -963,6 +963,10 @@ void channel_set_billboard(struct channel *channel, bool perm, const char *str) static void channel_err(struct channel *channel, const char *why) { + /* Nothing to do if channel isn't actually owned! */ + if (!channel->owner) + return; + log_info(channel->log, "Peer transient failure in %s: %s", channel_state_name(channel), why); diff --git a/tests/test_connection.py b/tests/test_connection.py index 0d46f2074..7baeb95b1 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -4379,7 +4379,6 @@ def test_peer_disconnected_reflected_in_channel_state(node_factory): wait_for(lambda: only_one(l1.rpc.listpeerchannels(l2.info['id'])['channels'])['peer_connected'] is False) -@pytest.mark.xfail(strict=True) @pytest.mark.developer("needs dev-no-reconnect") def test_reconnect_no_additional_transient_failure(node_factory, bitcoind): l1, l2 = node_factory.line_graph(2, opts=[{'may_reconnect': True},