feat: [DSM-103] Charge for storage after aborting DTS executions#10305
Open
alin-at-dfinity wants to merge 1 commit into
Open
feat: [DSM-103] Charge for storage after aborting DTS executions#10305alin-at-dfinity wants to merge 1 commit into
alin-at-dfinity wants to merge 1 commit into
Conversation
When charging canisters for storage, we don't charge canisters with paused executions because they should have a constant cycle balance throughuot the DTS execution. But we do charge canisters with aborted executions. So swap things around, so that we charge for storage after aborting paused executions (whether executions above the limit on regular rounds; or all paused executions on checkpoint rounds). This ensures that we can charge all canisters on checkpoint rounds (and makes it more likely to charge the average busy canister on regular rounds), making it possible to evenrually mote away from trying to charge every canister every round just to make sure we succeed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When charging canisters for storage, we skip canisters with paused executions because they should have a constant cycle balance throughout the DTS execution. But we do charge canisters with aborted executions. Swap things around, so that we only charge for storage after having aborted paused executions (whether executions above the limit on regular rounds; or all paused executions on checkpoint rounds).
This ensures that we can charge all canisters on checkpoint rounds (and makes it more likely to charge the average busy canister on regular rounds), making it possible to eventually move away from trying to charge every canister every round just to make sure we succeed.