diff --git a/registry/etcdv3/service_discovery.go b/registry/etcdv3/service_discovery.go index e435a556e5690c0ad6fcdf87c8387f8157ec0d6d..5699f1c427f9807ed4c6d179a18a996ea71623bb 100644 --- a/registry/etcdv3/service_discovery.go +++ b/registry/etcdv3/service_discovery.go @@ -89,13 +89,12 @@ func (e *etcdV3ServiceDiscovery) Register(instance registry.ServiceInstance) err if nil != e.client { ins, err := jsonutil.EncodeJSON(instance) if err == nil { - err = e.client.Update(path, string(ins)) + err = e.client.RegisterTemp(path, string(ins)) if err != nil { logger.Errorf("cannot register the instance: %s", string(ins), err) } else { e.services.Add(instance.GetServiceName()) } - } } @@ -109,7 +108,7 @@ func (e *etcdV3ServiceDiscovery) Update(instance registry.ServiceInstance) error if nil != e.client { ins, err := jsonutil.EncodeJSON(instance) if nil == err { - e.client.Update(path, string(ins)) + e.client.RegisterTemp(path, string(ins)) e.services.Add(instance.GetServiceName()) } } diff --git a/remoting/etcdv3/client.go b/remoting/etcdv3/client.go index a24a69232eb4bf8d3ad7acc3b3e05eb1eaf3253b..080c9411442b4cbb9701e00152f3a03f562d0d05 100644 --- a/remoting/etcdv3/client.go +++ b/remoting/etcdv3/client.go @@ -19,7 +19,6 @@ package etcdv3 import ( "context" - "path" "sync" "time" ) @@ -520,16 +519,14 @@ func (c *Client) Delete(k string) error { } // RegisterTemp registers a temporary node -func (c *Client) RegisterTemp(basePath string, node string) (string, error) { +func (c *Client) RegisterTemp(k, v string) error { - completeKey := path.Join(basePath, node) - - err := c.keepAliveKV(completeKey, "") + err := c.keepAliveKV(k, v) if err != nil { - return "", perrors.WithMessagef(err, "keepalive kv (key %s)", completeKey) + return perrors.WithMessagef(err, "keepalive kv (key %s)", k) } - return completeKey, nil + return nil } // GetChildrenKVList gets children kv list by @k diff --git a/remoting/etcdv3/client_test.go b/remoting/etcdv3/client_test.go index 287d93e30dd125d743bf718dcdab574a4b5a4afc..a321eea9ec22e41b807dd9e6912547d6ca5a084e 100644 --- a/remoting/etcdv3/client_test.go +++ b/remoting/etcdv3/client_test.go @@ -384,7 +384,7 @@ func (suite *ClientTestSuite) TestClientRegisterTemp() { assert.Contains(t, events, eDelete) }() - _, err := c.RegisterTemp("scott", "wang") + err := c.RegisterTemp("scott/wang", "test") if err != nil { t.Fatal(err) }