Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove already executed cross-messages from gateway actor state #120

Closed
adlrocha opened this issue Jan 25, 2023 · 0 comments
Closed

Remove already executed cross-messages from gateway actor state #120

adlrocha opened this issue Jan 25, 2023 · 0 comments

Comments

@adlrocha
Copy link
Contributor

adlrocha commented Jan 25, 2023

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.

Implementation

  • 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.
@adlrocha adlrocha transferred this issue from consensus-shipyard/ipc-actors Jul 20, 2023
@jsoares jsoares transferred this issue from consensus-shipyard/ipc-solidity-actors Dec 19, 2023
@jsoares jsoares closed this as not planned Won't fix, can't repro, duplicate, stale Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: No status
Development

No branches or pull requests

2 participants