embed: add "ExperimentalPreVote" for Raft

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
Gyuho Lee 2018-02-23 10:50:09 -08:00
parent 78918848bd
commit 3092d3bf7f
2 changed files with 9 additions and 0 deletions

View File

@ -234,6 +234,13 @@ type Config struct {
ExperimentalInitialCorruptCheck bool `json:"experimental-initial-corrupt-check"`
ExperimentalCorruptCheckTime time.Duration `json:"experimental-corrupt-check-time"`
ExperimentalEnableV2V3 string `json:"experimental-enable-v2v3"`
// ExperimentalPreVote is true to enable Raft Pre-Vote.
// If enabled, Raft runs an additional election phase
// to check whether it would get enough votes to win
// an election, thus minimizing disruptions.
// TODO: change to "pre-vote" and enable by default in 3.5.
ExperimentalPreVote bool `json:"experimental-pre-vote"`
}
// configYAML holds the config suitable for yaml parsing
@ -293,6 +300,7 @@ func NewConfig() *Config {
EnableV2: DefaultEnableV2,
HostWhitelist: defaultHostWhitelist,
AuthToken: "simple",
ExperimentalPreVote: false, // TODO: enable by default in v3.5
}
cfg.InitialCluster = cfg.InitialClusterFromName(cfg.Name)
return cfg

View File

@ -171,6 +171,7 @@ func StartEtcd(inCfg *Config) (e *Etcd, err error) {
AuthToken: cfg.AuthToken,
InitialCorruptCheck: cfg.ExperimentalInitialCorruptCheck,
CorruptCheckTime: cfg.ExperimentalCorruptCheckTime,
PreVote: cfg.ExperimentalPreVote,
Debug: cfg.Debug,
}