-
Notifications
You must be signed in to change notification settings - Fork 259
Feature Gate Activation Process
Follow these steps to activate a feature gate. This process is to ensure communication and coordination happens, so node operators/developer/engineers are not blindsided. The specific CLI commands and args are mostly left out on purpose, as learning how to use the CLI is not the goal of this doc; if you are unsure of the commands, seek help before proceeding. Note the precursor to these steps can be found at Feature Gate Setup Process
Please check back here before each activation, as this checklist will be updated.
Once your feature is next on the schedule it should be activated within 1 or 2 epochs. When possible avoid forking validators and RPC nodes and avoid activating feature gates on the weekend. If you're unsure ask for guidance in #<cluster>-feature-gates
.
The process of activating a feature gate takes a day or two. Adjust the times mentioned in steps below to avoid weekend activations and improve Discord engagement by posting while people are awake.
Run solana feature status -u[tdm]
to see if feature gate activation is allowed for the required version. Note, this does not consider --yolo
.
Refer to the Feature Gate Tracker Schedule to make sure this feature gate is next to be activated. If not, do not proceed without further coordination in #<cluster>-feature-gates
on the Solana Discord.
Suggested timing: 1 - 2 days before the epoch boundary
Create a thread to discuss activating the feature.
Template:
Thread Name:
<Key> - <description>
First Message:
<key> is next up for activation on <cluster>
<feature gate issue link>
Epoch <#> starts in <time delta>
Any objection to this feature gate being activated?
cc: @feature gate owner (if not self)
Suggested timing: 1 hour after posting in #<cluster>-feature-gates
This step is only necessary if activating this feature gate will cause a significant number of nodes to fork.
Channels:
#mb-announcements
#testnet-announcements
#devnet-announcements
Template:
🚨 **Feature Gate Activation** 🚨 I am planning to activate this feature gate on *<cluster>* for epoch <next epoch>, beginning in approximately <days> day(s) <hours> hour(s). This will fork nodes not running at least <minimum version(s)>. Please see #<cluster>-feature-gates for discussion.
<feature pubkey> | <feature description>
Suggested timing: 12 hours before epoch boundary
Double check you are specifying the correct cluster!
Perform the feature gate activation. Plan to be available and around at the next epoch boundary to ensure the activation goes smoothly.
Message in #<cluster>-feature-gates
that the feature gate has been activated. If you expect significant forking post another reminder in the appropriate #<cluster>-announcements
channel.
- Update Status and Epoch fields in the the Feature Gate Tracker
- In case it was the last activation of the feature gate, open a PR to remove its feature gating logic on master. But leave its key and description in sdk/feature-set/src/lib.rs
- General
- Feature Gates
- Technical
- Policy
- Schedule
- Migration
- Restart Instructions