paritytech / polkadot-sdk

The Parity Polkadot Blockchain SDK
https://polkadot.com/
1.92k stars 708 forks source link

XCM: Message Queues #489

Open gavofyork opened 2 years ago

gavofyork commented 2 years ago

Several improvements needed before we can lift the harsh restrictions placed on message queues at present:

Once all items are complete, safeguards designed to avoid PoV-exhaustion can be removed. At this point, sane v2 -> v3 weight conversions must also be removed; instead the Weight should be approximately equivalent to a block's total PoV weight. This will make almost all v2 messages overweight on a v3 system. The practical fix is to upgrade to v3.

Related: https://github.com/paritytech/polkadot/issues/6129

xlc commented 1 year ago

To confirm, we can remove the XCM SafeCallFilter once this PR is addressed?

kianenigma commented 1 year ago

To confirm, we can remove the XCM SafeCallFilter once this PR is addressed?

Yes, as per:

https://github.com/paritytech/polkadot/blob/7129e9bdba2c82e4b173f567b5d6a3c3f7191782/runtime/kusama/src/xcm_config.rs#L150-L157

kianenigma commented 1 month ago

@ggwpez can this be closed?

ggwpez commented 1 month ago

Allow suspension of any/all XCM queue processing for one block by an inherent if enough BABE slots have been missed.

Could probably be split into another issue, if still relevant.

Relay-chain should limit per-block HRMP bandwidth to something manageable by not requiring all sending channels to move forward by a whole block at once.

I guess this could still be an issue, if a parachain receives messages from all its channels at once and has a lot of them open. I will check this as part of the AHM preparations if it needs adjustments.
Although not sure what direction to go in. We dont really want to allow a linear lag between the enqueued and processed messages, since that would kill liveness. But possibly a constant factor could work while also updating the HostConfiguration of the chain dynamically to notify the other chains that the channel has lower throughput limits now.