Skip to content

Commit 2dc03f4

Browse files
committed
askrene: log reservation failures during getroutes
Log when a reservation removal failures during getroutes computation. Failed reservation removals can lead to reservation leaks. Changelog-None Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
1 parent e15614c commit 2dc03f4

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

plugins/askrene/refine.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,15 @@ static void get_scidd(const struct gossmap *gossmap,
2222

2323
static void destroy_reservations(struct reserve_hop *rhops, struct askrene *askrene)
2424
{
25-
for (size_t i = 0; i < tal_count(rhops); i++)
26-
reserve_remove(askrene->reserved, &rhops[i]);
25+
for (size_t i = 0; i < tal_count(rhops); i++){
26+
if (!reserve_remove(askrene->reserved, &rhops[i])) {
27+
plugin_log(
28+
askrene->plugin, LOG_BROKEN,
29+
"reserve_remove failed: %s on %s",
30+
fmt_amount_msat(tmpctx, rhops[i].amount),
31+
fmt_short_channel_id_dir(tmpctx, &rhops[i].scidd));
32+
}
33+
}
2734
}
2835

2936
static struct reserve_hop *new_reservations(const tal_t *ctx,

0 commit comments

Comments
 (0)