askrene: cut-off arcs with very low probability - #9482
Conversation
8e4ef3b to
3424973
Compare
fb5243f to
13adf50
Compare
| params->amount); | ||
|
|
||
| /* too unlikely it is not worth considering */ | ||
| if (probability < 1e-6) |
There was a problem hiding this comment.
The cutoff seems to conflict with how xpay probes liquidity? test_sendpay_grouping in test_pay.py documents that repeated attempts use attempted_amount - 1msat, specifically to land on the edge of the channel hint learned from the previous failure (as i see docstring at test_pay.py at line 5401-5406. Isn't this the situation where the new probability is smallest and most likely to fall under 1e-6?
There was a problem hiding this comment.
If a payment failed at 1000'000 sat, yes you may try again with 999'999, but the probability
of that getting through is roughly 1 in a million.
In the real network we don't do that, we split the payment and maybe try again the same route
with a smaller amount eg. ~500'000, while the rest is routed through other paths.
The sendpay_grouping test is testing listpays for repeated pay calls by abusing xpay.
The important thing here is to try the same payment several times, the X-1 is not important to the
test.
Arcs with very low probability of success are pruned early. This only applies to the single path solver because the MPP code uses arc linearization and already the low probability tail is removed. Changelog-None Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
13adf50 to
2bde9c6
Compare
Arcs with very low probability of success are pruned early.
This only applies to the single path solver because the MPP code uses arc linearization and already the low probability
tail is removed.