mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #8928 from gyuho/timeout-config
embed: error on zero heartbeat-interval, election-timeout
This commit is contained in:
commit
6e116542c2
@ -409,6 +409,12 @@ func (cfg *Config) Validate() error {
|
||||
return ErrConflictBootstrapFlags
|
||||
}
|
||||
|
||||
if cfg.TickMs <= 0 {
|
||||
return fmt.Errorf("--heartbeat-interval must be >0 (set to %dms)", cfg.TickMs)
|
||||
}
|
||||
if cfg.ElectionMs <= 0 {
|
||||
return fmt.Errorf("--election-timeout must be >0 (set to %dms)", cfg.ElectionMs)
|
||||
}
|
||||
if 5*cfg.TickMs > cfg.ElectionMs {
|
||||
return fmt.Errorf("--election-timeout[%vms] should be at least as 5 times as --heartbeat-interval[%vms]", cfg.ElectionMs, cfg.TickMs)
|
||||
}
|
||||
|
@ -460,8 +460,19 @@ func TestConfigFileElectionTimeout(t *testing.T) {
|
||||
},
|
||||
{
|
||||
ElectionMs: 60000,
|
||||
TickMs: 10000,
|
||||
errStr: "is too long, and should be set less than",
|
||||
},
|
||||
{
|
||||
ElectionMs: 100,
|
||||
TickMs: 0,
|
||||
errStr: "--heartbeat-interval must be >0 (set to 0ms)",
|
||||
},
|
||||
{
|
||||
ElectionMs: 0,
|
||||
TickMs: 100,
|
||||
errStr: "--election-timeout must be >0 (set to 0ms)",
|
||||
},
|
||||
}
|
||||
|
||||
for i, tt := range tests {
|
||||
|
Loading…
x
Reference in New Issue
Block a user