From eb5cc47bdddb20bcdfaa10622f45b28d478dc171 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 14 Jun 2019 10:02:05 +0930 Subject: [PATCH] gossipd: count deleted records correctly when loading gossip_store. The result of an incorrect count was that we failed on next compaction. Fixes: #2743 Fixes: #2742 Signed-off-by: Rusty Russell --- gossipd/gossip_store.c | 2 ++ tests/test_gossip.py | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gossipd/gossip_store.c b/gossipd/gossip_store.c index 97dc454c8..1dc6ab6bf 100644 --- a/gossipd/gossip_store.c +++ b/gossipd/gossip_store.c @@ -541,6 +541,8 @@ bool gossip_store_load(struct routing_state *rstate, struct gossip_store *gs) /* Skip deleted entries */ if (be32_to_cpu(hdr.len) & GOSSIP_STORE_LEN_DELETED_BIT) { + /* Count includes deleted! */ + gs->count++; gs->deleted++; goto next; } diff --git a/tests/test_gossip.py b/tests/test_gossip.py index cb206712f..e720da947 100644 --- a/tests/test_gossip.py +++ b/tests/test_gossip.py @@ -1155,7 +1155,6 @@ def test_gossip_store_compact(node_factory, bitcoind): wait_for(lambda: l2.daemon.is_in_log('gossip_store: Read ')) -@pytest.mark.xfail(strict=True) @unittest.skipIf(not DEVELOPER, "need dev-compact-gossip-store") def test_gossip_store_compact_restart(node_factory, bitcoind): l2 = setup_gossip_store_test(node_factory, bitcoind)