DO NOT MERGE PR 10857 needs to be fully in production first feat(registry): Enable blank replica_version_id for engines. - #10888
Conversation
|
✅ No security or compliance issues detected. Reviewed everything up to 486a25f. Security Overview
Detected Code Changes
|
- Done.
- No, this relaxes data rules.
- Ditto. Using the newly relaxed rule can be done later.
- Seems low risk.
There was a problem hiding this comment.
Pull request overview
This PR flips the registry canister feature flag that allows Cloud Engine subnets to have a blank replica_version_id, relying on StandardEngineReplicaVersionRecord to determine the effective replica version when blank.
Changes:
- Enable the
IS_BLANK_REPLICA_VERSION_ID_FOR_CLOUD_ENGINES_ENABLEDflag by default in the registry canister. - Document the behavior change in the registry canister unreleased changelog.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| rs/registry/canister/src/flags.rs | Flips the Cloud Engines blank replica_version_id feature flag default to enabled. |
| rs/registry/canister/unreleased_changelog.md | Adds a changelog entry describing the newly enabled behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
64b37fd to
a514985
Compare
6ac6120 to
486a25f
Compare
| static IS_CHUNKIFYING_LARGE_VALUES_ENABLED: Cell<bool> = const { Cell::new(true) }; | ||
| static IS_NODE_SWAPPING_ENABLED: Cell<bool> = const { Cell::new(true) }; | ||
| static IS_BLANK_REPLICA_VERSION_ID_FOR_CLOUD_ENGINES_ENABLED: Cell<bool> = const { Cell::new(false) }; | ||
| static IS_BLANK_REPLICA_VERSION_ID_FOR_CLOUD_ENGINES_ENABLED: Cell<bool> = const { Cell::new(true) }; |
There was a problem hiding this comment.
Flipping this makes the doc comment on check_replica_version_invariants false. rs/registry/canister/src/invariants/replica_version.rs:34-38 still reads:
Exception: a CloudEngine can have a blank replica_version_id in its SubnetRecord if there is a StandardEngineReplicaVersionRecord. As of July 22, 2026, this feature is disabled via a flag (but the plan is to enable it in the not too distant future).
The first sentence is still accurate; the second is falsified by this PR. Could you update it here, so we don't leave a "this is disabled" comment sitting next to code that is now enabled? Suggested replacement:
/// Exception: a CloudEngine is allowed to have a blank replica_version_id in
/// its SubnetRecord, provided a StandardEngineReplicaVersionRecord exists. In
/// that case, that record determines the Cloud Engine's replica version.
(Commenting here rather than inline, since replica_version.rs isn't part of this diff.)
|
Question rather than a finding: what's the migration path for existing Cloud Engines? I went through every writer of
So as far as I can tell this flip only reaches newly created engines, via Is that intentional for now, with a follow-up planned, or am I missing a path? Either way it'd be worth a line in the PR description: it shrinks the blast radius of this flip considerably, and it's exactly the context whoever approves the eventual NNS proposal will want. |
|
Minor, non-blocking, and possibly already considered: 10840 taught Only a test calls it today, so nothing is broken. But the two methods now disagree, and the name doesn't hint that one is blank-aware and the other isn't. Was leaving it as-is deliberate? If so, a one-line comment there would save the next person the grep. |
This is "just" a flag flip, but it suddenly makes a whole bunch of code active.
👈 Previous PR