feat(server): make the RetryInterval of PeerServer tunable

For tests and other environments it would be nice to be able to tune how
long to sleep between retries.
This commit is contained in:
Brandon Philips
2014-02-06 20:12:20 -08:00
parent da3fe920cb
commit 468a68c96c
4 changed files with 14 additions and 10 deletions

View File

@ -20,17 +20,16 @@ import (
"github.com/coreos/etcd/store"
)
const retryInterval = 10
const ThresholdMonitorTimeout = 5 * time.Second
type PeerServerConfig struct {
Name string
Scheme string
URL string
SnapshotCount int
MaxClusterSize int
RetryTimes int
Name string
Scheme string
URL string
SnapshotCount int
MaxClusterSize int
RetryTimes int
RetryInterval float64
}
type PeerServer struct {
@ -209,8 +208,8 @@ func (s *PeerServer) startAsFollower(cluster []string) {
if ok {
return
}
log.Warnf("Unable to join the cluster using any of the peers %v. Retrying in %d seconds", cluster, retryInterval)
time.Sleep(time.Second * retryInterval)
log.Warnf("Unable to join the cluster using any of the peers %v. Retrying in %.1f seconds", cluster, s.Config.RetryInterval)
time.Sleep(time.Second * time.Duration(s.Config.RetryInterval))
}
log.Fatalf("Cannot join the cluster via given peers after %x retries", s.Config.RetryTimes)