From c6733f1c9ec4e4f09954726167f1caea1424979c Mon Sep 17 00:00:00 2001 From: Nicolae Vartolomei Date: Wed, 30 Nov 2016 14:35:21 +0200 Subject: [PATCH] Handle cache/reflector errors when updating objects in store --- pkg/client/cache/reflector.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/client/cache/reflector.go b/pkg/client/cache/reflector.go index 8c8aee3a7b0..5bcf6836f82 100644 --- a/pkg/client/cache/reflector.go +++ b/pkg/client/cache/reflector.go @@ -363,14 +363,23 @@ loop: newResourceVersion := meta.GetResourceVersion() switch event.Type { case watch.Added: - r.store.Add(event.Object) + err := r.store.Add(event.Object) + if err != nil { + utilruntime.HandleError(fmt.Errorf("%s: unable to add watch event object (%#v) to store: %v", r.name, event.Object, err)) + } case watch.Modified: - r.store.Update(event.Object) + err := r.store.Update(event.Object) + if err != nil { + utilruntime.HandleError(fmt.Errorf("%s: unable to update watch event object (%#v) to store: %v", r.name, event.Object, err)) + } case watch.Deleted: // TODO: Will any consumers need access to the "last known // state", which is passed in event.Object? If so, may need // to change this. - r.store.Delete(event.Object) + err := r.store.Delete(event.Object) + if err != nil { + utilruntime.HandleError(fmt.Errorf("%s: unable to delete watch event object (%#v) from store: %v", r.name, event.Object, err)) + } default: utilruntime.HandleError(fmt.Errorf("%s: unable to understand watch event %#v", r.name, event)) }