lightning icon indicating copy to clipboard operation
lightning copied to clipboard

pay: MPP fails over a single channel

Open openoms opened this issue 2 years ago • 4 comments

Issue and Steps to Reproduce

Experiencing a similar issue to #5250 trying to pay simple $5 invoice to a BTCPayServer of Lunanode. My CLN node has a single channel to a routing node currently still the pay plugin wants to send with MPP all the time. There is no other way, but to put disable-mpp in the config. It seems this will need to be done for all nodes with only one channel otherwise CLN cannot pay anything. The connected routing node can pay the invoice every time and also CLN can if disable-mpp is set.

Telegram entry: https://t.me/lightningd/12354

getinfo output

{
   "id": "020fc7e62c9956a34bcdba309a4809ccfd7adcae4b8b644cac81b4dc58d43a2479",
   "alias": "LNroadz",
   "color": "020fc7",
   "num_peers": 1,
   "num_pending_channels": 0,
   "num_active_channels": 1,
   "num_inactive_channels": 0,
   "address": [
      {
         "type": "torv3",
         "address": "dt2xgzg4wg5zksqlzxmtqx3yx4dnic7hlysvycfvunbrgoatfzsnosyd.onion",
         "port": 9736
      }
   ],
   "binding": [
      {
         "type": "ipv4",
         "address": "127.0.0.1",
         "port": 9736
      }
   ],
   "version": "v0.11.0.1",
   "blockheight": 736305,
   "network": "bitcoin",
   "msatoshi_fees_collected": 805680,
   "fees_collected_msat": "805680msat",
   "lightning-dir": "/home/bitcoin/.lightning/bitcoin",
   "our_features": {
      "init": "88282269a2",
      "node": "800088282269a2",
      "channel": "",
      "invoice": "02000020024100"
   }
}

openoms avatar May 14 '22 05:05 openoms

Trying an other time after a successful payment without MPP, it went through from the same node with MPP in 3 parts as well. MIght have really just been a pathfinding issue.

lightning-cli pay REDACTED
{
   "destination": "02fe153690061fa27049bae0faa236ddb95df98c514416a350449c24a8018851dc",
   "payment_hash": "REDACTED",
   "created_at": REDACTED,
   "parts": 3,
   "msatoshi": 16960000,
   "amount_msat": "16960000msat",
   "msatoshi_sent": 16988102,
   "amount_sent_msat": "16988102msat",
   "payment_preimage": "REDACTED",
   "status": "complete"
}

Still an option in the command line to control the number and size of parts would be useful to not need a full restart to changing this setting for a payment. Zeus already has this (but not sure how it is achieved):

openoms avatar May 14 '22 06:05 openoms

Just like to say here, that i have this problem too. The max i can pay through my own channel directly to my peer is "spendable_msat": "4294967295msat" It takes me 25 invoices to move 1btc.

devastgh avatar Jul 12 '22 20:07 devastgh

The max i can pay through my own channel directly to my peer is "spendable_msat": "4294967295msat"

That limit might be related to the large-channels setting. Is it the same after switching on large-channels / wumbo in the config?

openoms avatar Jul 12 '22 20:07 openoms

The max i can pay through my own channel directly to my peer is "spendable_msat": "4294967295msat"

That limit might be related to the large-channels setting. Is it the same after switching on large-channels / wumbo in the config?

I have large-channels enabled. The spendable_msat is capped at that value on all my channels.

devastgh avatar Jul 12 '22 20:07 devastgh