Merge pull request #31755 from miaoyq/heartbeat-maybe-zero

The variable heartbeat might be 0
Upstream-commit: e2f60837ebbf432b89af900105afe73121cf6c05
Component: engine
This commit is contained in:
Vincent Demeester
2017-03-27 09:39:01 +02:00
committed by GitHub
2 changed files with 9 additions and 2 deletions
@@ -81,8 +81,7 @@ func discoveryOpts(clusterOpts map[string]string) (time.Duration, time.Duration,
ttl = time.Duration(t) * time.Second
if _, ok := clusterOpts["discovery.heartbeat"]; !ok {
h := int(t / defaultDiscoveryTTLFactor)
heartbeat = time.Duration(h) * time.Second
heartbeat = time.Duration(t) * time.Second / time.Duration(defaultDiscoveryTTLFactor)
}
if ttl <= heartbeat {
@@ -1,6 +1,7 @@
package discovery
import (
"fmt"
"testing"
"time"
)
@@ -86,6 +87,13 @@ func TestDiscoveryOpts(t *testing.T) {
t.Fatalf("Heartbeat - Expected : %v, Actual : %v", expected, heartbeat)
}
discaveryTTL := fmt.Sprintf("%d", defaultDiscoveryTTLFactor-1)
clusterOpts = map[string]string{"discovery.ttl": discaveryTTL}
heartbeat, ttl, err = discoveryOpts(clusterOpts)
if err == nil && heartbeat == 0 {
t.Fatal("discovery.heartbeat must be positive")
}
clusterOpts = map[string]string{}
heartbeat, ttl, err = discoveryOpts(clusterOpts)
if err != nil {