|
| 1 | +--- |
| 2 | +title: Feature Gates |
| 3 | +weight: 1175 |
| 4 | +content_type: concept |
| 5 | +card: |
| 6 | + name: reference |
| 7 | + weight: 60 |
| 8 | +--- |
| 9 | + |
| 10 | +<!-- overview --> |
| 11 | +This page contains an overview of the various feature gates an administrator |
| 12 | +can specify on etcd. |
| 13 | + |
| 14 | +See [feature stages](#feature-stages) for an explanation of the stages for a feature. |
| 15 | + |
| 16 | +<!-- body --> |
| 17 | +## Overview |
| 18 | + |
| 19 | +Feature gates are a set of key=value pairs that describe etcd features. |
| 20 | +You can turn these features on or off using the `--feature-gates` command line flag |
| 21 | +on etcd. |
| 22 | + |
| 23 | +etcd lets you enable or disable a set of feature gates. |
| 24 | +Use `-h` flag to see a full set of feature gates. |
| 25 | +To set feature gates, use the `--feature-gates` flag assigned to a list of feature pairs in commandline: |
| 26 | + |
| 27 | +```shell |
| 28 | +--feature-gates=...,StopGRPCServiceOnDefrag=true |
| 29 | +``` |
| 30 | + |
| 31 | +Or specify `feature-gates` in YAML config file: |
| 32 | + |
| 33 | +```shell |
| 34 | +feature-gates: ...,StopGRPCServiceOnDefrag=true |
| 35 | +``` |
| 36 | + |
| 37 | +The following tables are a summary of the feature gates that you can set on |
| 38 | +etcd. |
| 39 | + |
| 40 | +### Feature gates for Alpha or Beta features |
| 41 | + |
| 42 | +| Feature | Default | Stage | Details | |
| 43 | +|----------------------------------|---------|-------|--------------------------------------------------------------------------------------| |
| 44 | +| StopGRPCServiceOnDefrag | false | Alpha |Enables etcd gRPC service to stop serving client requests on defragmentation. | |
| 45 | +| InitialCorruptCheck | false | Alpha |Enables the write transaction to use a shared buffer in its readonly check operations.| |
| 46 | +| CompactHashCheck | false | Alpha |Enables to check data corruption before serving any client/peer traffic. | |
| 47 | +| TxnModeWriteWithSharedBuffer | true | Beta |Enables leader to periodically check followers compaction hashes. | |
| 48 | + |
| 49 | +## Using a feature |
| 50 | + |
| 51 | +### Feature stages |
| 52 | + |
| 53 | +A feature can be in *Alpha*, *Beta* or *GA* stage. |
| 54 | +An *Alpha* feature means: |
| 55 | + |
| 56 | +* Disabled by default. |
| 57 | +* Might be buggy. Enabling the feature may expose bugs. |
| 58 | +* Support for feature may be dropped at any time without notice. |
| 59 | +* The API may change in incompatible ways in a later software release without notice. |
| 60 | +* Recommended for use only in short-lived testing clusters, due to increased |
| 61 | + risk of bugs and lack of long-term support. |
| 62 | + |
| 63 | +A *Beta* feature means: |
| 64 | + |
| 65 | +* Enabled by default. |
| 66 | +* The feature is well tested. Enabling the feature is considered safe. |
| 67 | +* Support for the overall feature will not be dropped, though details may change. |
| 68 | +* Recommended for only non-business-critical uses because of potential for |
| 69 | + discovering new hard-to-spot bugs through wider adoption. |
| 70 | + |
| 71 | +**Note:** |
| 72 | +Please do try *Beta* features and give feedback on them! |
| 73 | +After they exit beta, it may not be practical for us to make more changes. |
| 74 | + |
| 75 | +A *General Availability* (GA) feature is also referred to as a *stable* feature. It means: |
| 76 | + |
| 77 | +* The feature is always enabled; you cannot disable it. |
| 78 | +* The corresponding feature gate is no longer needed. |
| 79 | +* Stable versions of features will appear in released software for many subsequent versions. |
| 80 | + |
| 81 | +A *Deprecated* feature means: |
| 82 | + |
| 83 | +* The feature gate is no longer in use. |
| 84 | +* The feature has graduated to GA or been removed. |
0 commit comments