diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index bfa3cf2af..3425468e6 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -139,10 +139,16 @@ static void delete_peer(struct peer *peer) /* Last one out deletes peer. */ void maybe_delete_peer(struct peer *peer) { - if (peer->uncommitted_channel) - return; if (!list_empty(&peer->channels)) return; + if (peer->uncommitted_channel) { + /* This isn't sufficient to keep it in db! */ + if (peer->dbid != 0) { + wallet_peer_delete(peer->ld->wallet, peer->dbid); + peer->dbid = 0; + } + return; + } delete_peer(peer); } diff --git a/tests/test_connection.py b/tests/test_connection.py index fe2dd84c8..f1930f370 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -1510,7 +1510,6 @@ def test_restart_many_payments(node_factory): wait_for(lambda: 'pending' not in [p['status'] for p in n.rpc.listpayments()['payments']]) -@pytest.mark.xfail(strict=True) @unittest.skipIf(not DEVELOPER, "need dev-disconnect") def test_fail_unconfirmed(node_factory, bitcoind, executor): """Test that if we crash with an unconfirmed connection to a known