docker/libkv

When multiple etcd stores are passed to the API. Which one is given preference?

Opened this issue · 1 comments

When multiple etcd stores are passed to the libkv API. Which one is given preference?

  • Round robin
  • First available one in the list
  • Or randomly one of them is picked

After opening the issue. I dug a little deeper into etcd client code and documentation, here are my observations:
As per etcd/client documentation(caveat section, https://github.com/coreos/etcd/tree/master/client) and some code investigation(client.go, Do() function), it looks like they randomize(shuffle) the given set of endpoints, pick the first one and continues to use that until it fails to respond. Later they pick the next one from the set of endpoints and continues to use that.

If my above understanding seems correct to libkv team? Feel free to close the issue.

Cheers
Dharmesh