mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
discovery: add d.selfKey()
This commit is contained in:
parent
b8eb21c027
commit
2fd5a9863b
@ -54,15 +54,14 @@ func (d *discovery) discover() (*etcdhttp.Peers, error) {
|
||||
}
|
||||
|
||||
func (d *discovery) createSelf() error {
|
||||
self := path.Join("/", d.cluster, fmt.Sprintf("%d", d.id))
|
||||
// create self key
|
||||
resp, err := d.c.Create(self, string(d.ctx), 0)
|
||||
resp, err := d.c.Create(d.selfKey(), string(d.ctx), 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// ensure self appears on the server we connected to
|
||||
w := d.c.Watch(self, resp.Node.CreatedIndex)
|
||||
w := d.c.Watch(d.selfKey(), resp.Node.CreatedIndex)
|
||||
if _, err = w.Next(); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -70,7 +69,6 @@ func (d *discovery) createSelf() error {
|
||||
}
|
||||
|
||||
func (d *discovery) checkCluster() (client.Nodes, int, error) {
|
||||
self := path.Join("/", d.cluster, fmt.Sprintf("%d", d.id))
|
||||
resp, err := d.c.Get(d.cluster)
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
@ -93,7 +91,7 @@ func (d *discovery) checkCluster() (client.Nodes, int, error) {
|
||||
|
||||
// find self position
|
||||
for i := range nodes {
|
||||
if nodes[i].Key == self {
|
||||
if nodes[i].Key == d.selfKey() {
|
||||
break
|
||||
}
|
||||
if i >= size-1 {
|
||||
@ -121,6 +119,10 @@ func (d *discovery) waitNodes(nodes client.Nodes, size int) (client.Nodes, error
|
||||
return all, nil
|
||||
}
|
||||
|
||||
func (d *discovery) selfKey() string {
|
||||
return path.Join("/", d.cluster, fmt.Sprintf("%d", d.id))
|
||||
}
|
||||
|
||||
func nodesToPeers(ns client.Nodes) (*etcdhttp.Peers, error) {
|
||||
s := make([]string, len(ns))
|
||||
for i, n := range ns {
|
||||
|
Loading…
x
Reference in New Issue
Block a user