diff --git a/etcd/peer.go b/etcd/peer.go index be5fa4eeb..dd0c39e4b 100644 --- a/etcd/peer.go +++ b/etcd/peer.go @@ -122,7 +122,7 @@ func (p *peer) post(d []byte) { buf := bytes.NewBuffer(d) resp, err := p.c.Post(p.url, "application/octet-stream", buf) if err != nil { - log.Println("peer.post url=%s err=\"%v\"", p.url, err) + log.Printf("peer.post url=%s err=\"%v\"", p.url, err) return } resp.Body.Close() diff --git a/etcd/peer_hub.go b/etcd/peer_hub.go index 828be0228..9f1e3cf00 100644 --- a/etcd/peer_hub.go +++ b/etcd/peer_hub.go @@ -25,6 +25,7 @@ import ( "net/url" "path" "sync" + "time" "github.com/coreos/etcd/raft" ) @@ -77,6 +78,9 @@ func (h *peerHub) stop() { for _, p := range h.peers { p.stop() } + // http.Transport needs some time to put used connections + // into idle queues. + time.Sleep(time.Millisecond) tr := h.c.Transport.(*http.Transport) tr.CloseIdleConnections() }