diff --git a/go.mod b/go.mod index a4a5faf..122806e 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/rubyist/circuitbreaker v2.2.1+incompatible github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da // indirect github.com/satori/go.uuid v1.2.0 // indirect - github.com/smallnest/libkv-etcdv3-store v1.1.5 + github.com/smallnest/libkv-etcdv3-store v1.1.6 github.com/smallnest/quick v0.0.0-20200501131359-9534f3d77602 github.com/smallnest/valkeyrie v0.0.0-20191030065038-13edeca3d026 github.com/soheilhy/cmux v0.1.4 diff --git a/go.sum b/go.sum index 8345e70..b9e5145 100644 --- a/go.sum +++ b/go.sum @@ -394,6 +394,8 @@ github.com/smallnest/libkv-etcdv3-store v1.1.4 h1:S7nbdf27EJb9rwCbANvbxUSqDbfE85 github.com/smallnest/libkv-etcdv3-store v1.1.4/go.mod h1:VAzE2+HQwhZZanve7ObW+IFWdK0WMVoQhxmyuvLCfog= github.com/smallnest/libkv-etcdv3-store v1.1.5 h1:wo9jvbfDXoTmuBTOuGE68uDsBZBacXw/hl6mawYLDwo= github.com/smallnest/libkv-etcdv3-store v1.1.5/go.mod h1:VAzE2+HQwhZZanve7ObW+IFWdK0WMVoQhxmyuvLCfog= +github.com/smallnest/libkv-etcdv3-store v1.1.6 h1:pXFpkS/gVaQLMrM5BW5qkgfpj0BNu/VCP1ZY0qF8a7I= +github.com/smallnest/libkv-etcdv3-store v1.1.6/go.mod h1:VAzE2+HQwhZZanve7ObW+IFWdK0WMVoQhxmyuvLCfog= github.com/smallnest/quick v0.0.0-20200501131359-9534f3d77602 h1:BZz5dtx3R73N0PCSPBGFX+p09wPDvVujwFOGWgu4m80= github.com/smallnest/quick v0.0.0-20200501131359-9534f3d77602/go.mod h1:pCMr9YKzcruQNKA1483At0JJkkB2oTiw1wSXCcXgDCI= github.com/smallnest/valkeyrie v0.0.0-20191030065038-13edeca3d026 h1:2JZDSZUojMiRtgWzSyO7lZSxCKfTsItI2ilEGTBuSNc= diff --git a/serverplugin/etcdv3.go b/serverplugin/etcdv3.go index e54d7f1..b863e6a 100644 --- a/serverplugin/etcdv3.go +++ b/serverplugin/etcdv3.go @@ -71,7 +71,6 @@ func (p *EtcdV3RegisterPlugin) Start() error { ticker := time.NewTicker(p.UpdateInterval) go func() { defer p.kv.Close() - // refresh service TTL for { select { @@ -95,7 +94,7 @@ func (p *EtcdV3RegisterPlugin) Start() error { meta := p.metas[name] p.metasLock.RUnlock() - err = p.kv.Put(nodePath, []byte(meta), &store.WriteOptions{TTL: p.UpdateInterval * 2}) + err = p.kv.Put(nodePath, []byte(meta), &store.WriteOptions{TTL: p.UpdateInterval + time.Second}) if err != nil { log.Errorf("cannot re-create etcd path %s: %v", nodePath, err) } @@ -103,7 +102,7 @@ func (p *EtcdV3RegisterPlugin) Start() error { } else { v, _ := url.ParseQuery(string(kvPair.Value)) v.Set("tps", string(data)) - p.kv.Put(nodePath, []byte(v.Encode()), &store.WriteOptions{TTL: p.UpdateInterval * 2}) + p.kv.Put(nodePath, []byte(v.Encode()), &store.WriteOptions{TTL: p.UpdateInterval + time.Second}) } } }