You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently don't have a way to signal that a cross-net message has been successfully executed and that can be removed from the queue of cross-net messages in the corresponding gateway. This will generate the state in the gateway to increase indefinitely (and unnecessarily), increasing the gas costs of new cross-net messages, as it will keep expanding the memory requirements of the gateway.
For top-down messages, once the message is executed in the child subnet, the parent signal should be signalled to notify that the corresponding message can be removed from top_down_msgs for the subnet: https://github.com/consensus-shipyard/ipc-actors/blob/ec4dbe39d21c0ab3b29fd3f5f5f8d5edc7f50d93/gateway/src/subnet.rs#L28. Parents never sync with their children so we need some participant in the child to propagate the signal up to the parent. One way could be to include in the checkpoint information about all the cross-messages executed and that can be cleaned from this data structure.
Top-down messages: To garbage collect top-down messages, we can propagate in checkpoints the latest nonce of the top-down message execute in the child subnet. The parent will pick up this nonce and garbage collect all the message below and including that nonce from its state.
Bottom-up messages: For bottom up messages it is easier. When a bottom up message for a new nonce is executed, the message meta for that nonce can be directly cleaned from the parent's state.
The text was updated successfully, but these errors were encountered:
Related: consensus-shipyard/ipc-actors#20
We currently don't have a way to signal that a cross-net message has been successfully executed and that can be removed from the queue of cross-net messages in the corresponding gateway. This will generate the state in the gateway to increase indefinitely (and unnecessarily), increasing the gas costs of new cross-net messages, as it will keep expanding the memory requirements of the gateway.
top_down_msgs
for the subnet: https://github.com/consensus-shipyard/ipc-actors/blob/ec4dbe39d21c0ab3b29fd3f5f5f8d5edc7f50d93/gateway/src/subnet.rs#L28. Parents never sync with their children so we need some participant in the child to propagate the signal up to the parent. One way could be to include in the checkpoint information about all the cross-messages executed and that can be cleaned from this data structure.crossMsgMeta
can be more easily cleaned, as when the messages included in it are executed, the correspondingcrossMsgMeta
could be conveniently cleaned.send_cross
propagated messages are already being conveniently removed from the postbox: https://github.com/consensus-shipyard/ipc-actors/blob/ec4dbe39d21c0ab3b29fd3f5f5f8d5edc7f50d93/gateway/src/lib.rs#L857Implementation
The text was updated successfully, but these errors were encountered: