lnworker: collect failed htlcs during payment attempt, fix todo #10274
+83
−40
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This makes
LNWallet.pay_to_node()waitPaySession.TIMEOUT_WAIT_FOR_NEXT_RESOLVED_HTLC(0.5 sec) for another htlc to get resolved after receiving a htlc failure during a payment attempt.This seems to make payments more reliable in scenarios where we receive multiple htlc failures closely after each other as
LNWallet.create_route_for_payment()then has access to the failed routes/failure information of all these htlcs when trying to re-split the outstanding amount.I especially noticed the improvement when running this test on top of #10230 which would otherwise fail regularly:
Unittest