From a0361ea3f97f86b5d95f7cd0a318e4a6a226240c Mon Sep 17 00:00:00 2001 From: blueblue Date: Thu, 7 Sep 2017 10:14:54 +0800 Subject: [PATCH] rafthttp: add remote in pipeline and snapshot handler when corresponding peer or remote do not exist Fixes: #8506 --- rafthttp/http.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rafthttp/http.go b/rafthttp/http.go index 55df26e9b..55a31f5d2 100644 --- a/rafthttp/http.go +++ b/rafthttp/http.go @@ -91,7 +91,7 @@ func (h *pipelineHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } - if from, err := types.IDFromString(r.Header.Get("X-Server-From")); err != nil { + if from, err := types.IDFromString(r.Header.Get("X-Server-From")); err == nil { if urls := r.Header.Get("X-PeerURLs"); urls != "" { h.tr.AddRemote(from, strings.Split(urls, ",")) } @@ -176,7 +176,7 @@ func (h *snapshotHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } - if from, err := types.IDFromString(r.Header.Get("X-Server-From")); err != nil { + if from, err := types.IDFromString(r.Header.Get("X-Server-From")); err == nil { if urls := r.Header.Get("X-PeerURLs"); urls != "" { h.tr.AddRemote(from, strings.Split(urls, ",")) }