Skip to content
Snippets Groups Projects
Commit bfa17a38 authored by zhengxianle's avatar zhengxianle
Browse files

Fix: EtcdServiceDiscovery replace put with temp kv.

parent ba216117
No related branches found
No related tags found
No related merge requests found
......@@ -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())
}
}
......
......@@ -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
......
......@@ -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)
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment