From 307849baef076d8ee61a3b9649f9260a765f7ac0 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Wed, 27 Jun 2018 20:34:48 -0400 Subject: [PATCH] Print type information when unknown watch error Got ``` E0628 00:23:07.106285 1 watch.go:274] unable to encode watch object: expected pointer, but got invalid kind ``` on a production system and had no way to debug what type was being sent. --- .../src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go index c1bc984e64c..533778948b3 100755 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/watch.go @@ -209,7 +209,7 @@ func (s *WatchServer) ServeHTTP(w http.ResponseWriter, req *http.Request) { s.Fixup(obj) if err := s.EmbeddedEncoder.Encode(obj, buf); err != nil { // unexpected error - utilruntime.HandleError(fmt.Errorf("unable to encode watch object: %v", err)) + utilruntime.HandleError(fmt.Errorf("unable to encode watch object %T: %v", obj, err)) return } @@ -230,7 +230,7 @@ func (s *WatchServer) ServeHTTP(w http.ResponseWriter, req *http.Request) { return } if err := e.Encode(outEvent); err != nil { - utilruntime.HandleError(fmt.Errorf("unable to encode watch object: %v (%#v)", err, e)) + utilruntime.HandleError(fmt.Errorf("unable to encode watch object %T: %v (%#v)", outEvent, err, e)) // client disconnect. return } @@ -276,7 +276,7 @@ func (s *WatchServer) HandleWS(ws *websocket.Conn) { s.Fixup(obj) if err := s.EmbeddedEncoder.Encode(obj, buf); err != nil { // unexpected error - utilruntime.HandleError(fmt.Errorf("unable to encode watch object: %v", err)) + utilruntime.HandleError(fmt.Errorf("unable to encode watch object %T: %v", obj, err)) return }