-
Notifications
You must be signed in to change notification settings - Fork 328
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(nns): Split the active_neurons_in_stable_memory into 2 flags (#3312
) # Why The previous set up for the feature flag `active_neurons_in_stable_memory` does not allow us to safely rollback if necessary, because the rolled back version would only look for active neurons in the heap memory, while some would still be in the stable memory until the timer picks them up (if the reverse migration is implemented). # What Use `allow_active_neurons_in_stable_memory` for whether the canister allows active neurons to be in stable memory, by checking stable memory when iterating/finding active neurons. Use `migrate_active_neurons_to_stable_memory` for whether the active neurons should be in stable memory, so that the migration task in the timer would move them accordingly. ## Launch/Rollback Plan With the new setup, we can: 1. Turn on `allow_active_neurons_in_stable_memory`. If any problems occur, we can roll it back. 2. If there is no problem found, we can turn on `migrate_active_neurons_to_stable_memory`. If any problems occur, we can roll back `migrate_active_neurons_to_stable_memory` and a later PR (which should be merged before launching) will do the reverse migration. We cannot rollback the 2 flags simultaneously (refer to the "Why" section above). 3. If we have to rollback `allow_active_neurons_in_stable_memory` at this point (however unlikely), we can rollback `migrate_active_neurons_to_stable_memory` first, and do another release to rollback `allow_active_neurons_in_stable_memory` after we confirm that the reverse migration has been completed.
- Loading branch information
1 parent
983a053
commit a726b71
Showing
7 changed files
with
126 additions
and
64 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.