Skip to content

Conversation

@thomash-acinq
Copy link
Member

@thomash-acinq thomash-acinq commented May 23, 2025

Payment splitting is randomized which can lead to flaky tests. Tests requiring MPP used maxAttempts = 3 which fails in a bit less than 1% of runs, increasing to maxAttempts = 4 should reduce the failure rate to less than 1 per thousand.
We also increase the timeout for propagating channel updates.

Payment splitting is randomized which can lead to flaky tests.
Tests requiring MPP used `maxAttempts = 3` which which fails in a bit less than 1% of runs, increasing to `maxAttempts = 4` should reduce the failure rate to less than 1 per thousand.
We also increase the timeout for propagating channel updates.
@thomash-acinq thomash-acinq requested a review from t-bast May 23, 2025 15:02
@t-bast
Copy link
Member

t-bast commented May 26, 2025

I'm surprised that MPP is the culprit here when we're trying to send a 125 000 sats payment through two channels of capacity 100 000 sat without any other payment in parallel...are we over-estimating the amount we can send (e.g. not correctly taking into account the commitment fees)? Is there something that we should fix at the MPP level to improve this or is it just because of test conditions?

@thomash-acinq thomash-acinq merged commit 62182f9 into master May 26, 2025
1 check passed
@thomash-acinq
Copy link
Member Author

It was quite hard to reproduce the failure, the test for which I managed to reproduce it was "send blinded multi-part payment a->b->c (single channel a->b)" and the three payment attempts had failed. In that test, the payer has very little information: the problematic channel is one hop away (so no local balance information) and inside a blinded route (so no failure message returned) and it makes sense it would fail.
I've measured empirically that adding one additional attempt would decrease the failure rate by ~10x and assumed that all tests with multiple attempts would benefit.

We could certainly improve the MPP logic and I'll look into it but I don't think there is anything broken currently.

@thomash-acinq thomash-acinq deleted the flaky-offer branch May 26, 2025 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants