Skip to content

Commit 6447d04

Browse files
authored
Merge pull request #941 from gangli113/addFeatureGatesDoc
Add feature gates doc for etcd
2 parents f5602a3 + 067681a commit 6447d04

File tree

1 file changed

+84
-0
lines changed
  • content/en/docs/v3.6/feature-gates

1 file changed

+84
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
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

Comments
 (0)