From bcca57bda803c2ef3bc7b7665a37526971b32049 Mon Sep 17 00:00:00 2001 From: Mike Goelzer Date: Thu, 2 Apr 2015 19:34:30 -0700 Subject: [PATCH] Make TTL > heartbeat by at least one second to prevent key from disappearing before next heartbeat Signed-off-by: Mike Goelzer --- discovery/etcd/etcd.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/discovery/etcd/etcd.go b/discovery/etcd/etcd.go index 4ab13f7e08..e634b34b89 100644 --- a/discovery/etcd/etcd.go +++ b/discovery/etcd/etcd.go @@ -40,7 +40,8 @@ func (s *EtcdDiscoveryService) Initialize(uris string, heartbeat int) error { } s.client = etcd.NewClient(entries) - s.ttl = uint64(heartbeat * 3 / 2) + // ttl should always be > heartbeat, even if heartbeat = 1 or 0 + s.ttl = uint64(heartbeat*3/2) + 1 s.path = "/" + parts[1] + "/" if _, err := s.client.CreateDir(s.path, s.ttl); err != nil { if etcdError, ok := err.(*etcd.EtcdError); ok {