From 92497be019f15c646090108254cc0c7fe968320c Mon Sep 17 00:00:00 2001 From: Yanqiang Miao Date: Sat, 11 Mar 2017 16:03:22 +0800 Subject: [PATCH] The variable heartbeat might be 0 Signed-off-by: Yanqiang Miao perfect the test case for 'discoveryOpts' Signed-off-by: Yanqiang Miao Upstream-commit: fb2bc3521069b55bbb342305e533e78682fbcc65 Component: engine --- components/engine/daemon/discovery/discovery.go | 3 +-- components/engine/daemon/discovery/discovery_test.go | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/components/engine/daemon/discovery/discovery.go b/components/engine/daemon/discovery/discovery.go index 24c305f8e0..2103486434 100644 --- a/components/engine/daemon/discovery/discovery.go +++ b/components/engine/daemon/discovery/discovery.go @@ -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 { diff --git a/components/engine/daemon/discovery/discovery_test.go b/components/engine/daemon/discovery/discovery_test.go index 7b5942f491..781442939b 100644 --- a/components/engine/daemon/discovery/discovery_test.go +++ b/components/engine/daemon/discovery/discovery_test.go @@ -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 {