|
@@ -20,7 +20,6 @@ import (
|
|
|
"expvar"
|
|
"expvar"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
|
- "log"
|
|
|
|
|
"net/http"
|
|
"net/http"
|
|
|
"net/url"
|
|
"net/url"
|
|
|
"path"
|
|
"path"
|
|
@@ -147,7 +146,7 @@ func (h *keysHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
case resp.Event != nil:
|
|
case resp.Event != nil:
|
|
|
if err := writeKeyEvent(w, resp.Event, h.timer); err != nil {
|
|
if err := writeKeyEvent(w, resp.Event, h.timer); err != nil {
|
|
|
// Should never be reached
|
|
// Should never be reached
|
|
|
- log.Printf("error writing event: %v", err)
|
|
|
|
|
|
|
+ plog.Errorf("error writing event (%v)", err)
|
|
|
}
|
|
}
|
|
|
case resp.Watcher != nil:
|
|
case resp.Watcher != nil:
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), defaultWatchTimeout)
|
|
ctx, cancel := context.WithTimeout(context.Background(), defaultWatchTimeout)
|
|
@@ -197,7 +196,7 @@ func (h *membersHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
mc := newMemberCollection(h.cluster.Members())
|
|
mc := newMemberCollection(h.cluster.Members())
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.Header().Set("Content-Type", "application/json")
|
|
|
if err := json.NewEncoder(w).Encode(mc); err != nil {
|
|
if err := json.NewEncoder(w).Encode(mc); err != nil {
|
|
|
- log.Printf("etcdhttp: %v", err)
|
|
|
|
|
|
|
+ plog.Warningf("failed to encode members response (%v)", err)
|
|
|
}
|
|
}
|
|
|
case "leader":
|
|
case "leader":
|
|
|
id := h.server.Leader()
|
|
id := h.server.Leader()
|
|
@@ -208,7 +207,7 @@ func (h *membersHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
m := newMember(h.cluster.Member(id))
|
|
m := newMember(h.cluster.Member(id))
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.Header().Set("Content-Type", "application/json")
|
|
|
if err := json.NewEncoder(w).Encode(m); err != nil {
|
|
if err := json.NewEncoder(w).Encode(m); err != nil {
|
|
|
- log.Printf("etcdhttp: %v", err)
|
|
|
|
|
|
|
+ plog.Warningf("failed to encode members response (%v)", err)
|
|
|
}
|
|
}
|
|
|
default:
|
|
default:
|
|
|
writeError(w, httptypes.NewHTTPError(http.StatusNotFound, "Not found"))
|
|
writeError(w, httptypes.NewHTTPError(http.StatusNotFound, "Not found"))
|
|
@@ -226,7 +225,7 @@ func (h *membersHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
writeError(w, httptypes.NewHTTPError(http.StatusConflict, err.Error()))
|
|
writeError(w, httptypes.NewHTTPError(http.StatusConflict, err.Error()))
|
|
|
return
|
|
return
|
|
|
case err != nil:
|
|
case err != nil:
|
|
|
- log.Printf("etcdhttp: error adding node %s: %v", m.ID, err)
|
|
|
|
|
|
|
+ plog.Errorf("error adding member %s (%v)", m.ID, err)
|
|
|
writeError(w, err)
|
|
writeError(w, err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
@@ -234,7 +233,7 @@ func (h *membersHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.Header().Set("Content-Type", "application/json")
|
|
|
w.WriteHeader(http.StatusCreated)
|
|
w.WriteHeader(http.StatusCreated)
|
|
|
if err := json.NewEncoder(w).Encode(res); err != nil {
|
|
if err := json.NewEncoder(w).Encode(res); err != nil {
|
|
|
- log.Printf("etcdhttp: %v", err)
|
|
|
|
|
|
|
+ plog.Warningf("failed to encode members response (%v)", err)
|
|
|
}
|
|
}
|
|
|
case "DELETE":
|
|
case "DELETE":
|
|
|
id, ok := getID(r.URL.Path, w)
|
|
id, ok := getID(r.URL.Path, w)
|
|
@@ -248,7 +247,7 @@ func (h *membersHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
case err == etcdserver.ErrIDNotFound:
|
|
case err == etcdserver.ErrIDNotFound:
|
|
|
writeError(w, httptypes.NewHTTPError(http.StatusNotFound, fmt.Sprintf("No such member: %s", id)))
|
|
writeError(w, httptypes.NewHTTPError(http.StatusNotFound, fmt.Sprintf("No such member: %s", id)))
|
|
|
case err != nil:
|
|
case err != nil:
|
|
|
- log.Printf("etcdhttp: error removing node %s: %v", id, err)
|
|
|
|
|
|
|
+ plog.Errorf("error removing member %s (%v)", id, err)
|
|
|
writeError(w, err)
|
|
writeError(w, err)
|
|
|
default:
|
|
default:
|
|
|
w.WriteHeader(http.StatusNoContent)
|
|
w.WriteHeader(http.StatusNoContent)
|
|
@@ -273,7 +272,7 @@ func (h *membersHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
|
case err == etcdserver.ErrIDNotFound:
|
|
case err == etcdserver.ErrIDNotFound:
|
|
|
writeError(w, httptypes.NewHTTPError(http.StatusNotFound, fmt.Sprintf("No such member: %s", id)))
|
|
writeError(w, httptypes.NewHTTPError(http.StatusNotFound, fmt.Sprintf("No such member: %s", id)))
|
|
|
case err != nil:
|
|
case err != nil:
|
|
|
- log.Printf("etcdhttp: error updating node %s: %v", m.ID, err)
|
|
|
|
|
|
|
+ plog.Errorf("error updating member %s (%v)", m.ID, err)
|
|
|
writeError(w, err)
|
|
writeError(w, err)
|
|
|
default:
|
|
default:
|
|
|
w.WriteHeader(http.StatusNoContent)
|
|
w.WriteHeader(http.StatusNoContent)
|
|
@@ -379,7 +378,7 @@ func serveVersion(w http.ResponseWriter, r *http.Request, clusterV string) {
|
|
|
|
|
|
|
|
b, err := json.Marshal(&vs)
|
|
b, err := json.Marshal(&vs)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- log.Panicf("version: cannot marshal versions to json (%v)", err)
|
|
|
|
|
|
|
+ plog.Panicf("cannot marshal versions to json (%v)", err)
|
|
|
}
|
|
}
|
|
|
w.Write(b)
|
|
w.Write(b)
|
|
|
}
|
|
}
|
|
@@ -585,7 +584,7 @@ func handleKeyWatch(ctx context.Context, w http.ResponseWriter, wa store.Watcher
|
|
|
ev = trimEventPrefix(ev, etcdserver.StoreKeysPrefix)
|
|
ev = trimEventPrefix(ev, etcdserver.StoreKeysPrefix)
|
|
|
if err := json.NewEncoder(w).Encode(ev); err != nil {
|
|
if err := json.NewEncoder(w).Encode(ev); err != nil {
|
|
|
// Should never be reached
|
|
// Should never be reached
|
|
|
- log.Printf("error writing event: %v\n", err)
|
|
|
|
|
|
|
+ plog.Warningf("error writing event (%v)", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
if !stream {
|
|
if !stream {
|