Skip to content

Conversation

@mraszyk
Copy link
Contributor

@mraszyk mraszyk commented Nov 28, 2025

This PR adds two extra fields to the input type of the take_canister_snapshot method of the management canister:

  • uninstall_code: allows to atomically uninstall the canister after taking its snapshot; in particular, the canister memory usage is updated atomically and thus it does not grow significantly (ignoring some potential constant overhead for certified variables which are not accounted for by canister memory usage, but are accounted for in canister snapshot memory usage),
  • sender_canister_version: needed to record the sender canister version in the code uninstallation entry in canister history.

Warning! The actual functionality will only be implemented in follow-up PRs.

@github-actions github-actions bot added the chore label Nov 28, 2025
@mraszyk mraszyk marked this pull request as ready for review December 1, 2025 13:51
@mraszyk mraszyk requested a review from a team as a code owner December 1, 2025 13:51
Copy link
Contributor

@michael-weigelt michael-weigelt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a non-breaking interface change. Is there a spec PR too?

@mraszyk
Copy link
Contributor Author

mraszyk commented Dec 2, 2025

This is a non-breaking interface change. Is there a spec PR too?

Yes, I just created one: dfinity/portal#6168

@mraszyk mraszyk added this pull request to the merge queue Dec 2, 2025
Merged via the queue into master with commit 97ad916 Dec 2, 2025
43 checks passed
@mraszyk mraszyk deleted the mraszyk/take-snapshot-and-uninstall-code-01 branch December 2, 2025 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants