Merge pull request #19213 from wojtek-t/fix_18794

Fix cacher_test flakes
This commit is contained in:
Wojciech Tyczynski 2015-12-31 09:35:31 +01:00
commit 40153138b8
3 changed files with 8 additions and 25 deletions

View File

@ -414,11 +414,6 @@ func (c *Cacher) LastSyncResourceVersion() (uint64, error) {
return strconv.ParseUint(resourceVersion, 10, 64)
}
// For debugging #18794 only.
func (c *Cacher) GetAllCachedEvents() ([]watchCacheEvent, error) {
return c.watchCache.getAllCachedEvents()
}
// cacherListerWatcher opaques storage.Interface to expose cache.ListerWatcher.
type cacherListerWatcher struct {
storage Interface

View File

@ -37,7 +37,6 @@ import (
"k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/watch"
"github.com/golang/glog"
"golang.org/x/net/context"
)
@ -271,6 +270,14 @@ func TestFiltering(t *testing.T) {
cacher := newTestCacher(etcdStorage)
defer cacher.Stop()
// Ensure that the cacher is initialized, before creating any pods,
// so that we are sure that all events will be present in cacher.
syncWatcher, err := cacher.Watch(context.TODO(), "pods/ns/foo", "0", storage.Everything)
if err != nil {
t.Fatalf("Unexpected error: %v", err)
}
syncWatcher.Stop()
podFoo := makeTestPod("foo")
podFoo.Labels = map[string]string{"filter": "foo"}
podFooFiltered := makeTestPod("foo")
@ -300,15 +307,6 @@ func TestFiltering(t *testing.T) {
}
watcher, err := cacher.Watch(context.TODO(), "pods/ns/foo", fooCreated.ResourceVersion, filter)
if err != nil {
// For debugging #18794 only.
events, err := cacher.GetAllCachedEvents()
if err != nil {
glog.Error("Unexpected error: %v", err)
} else {
for _, event := range events {
glog.Errorf("cached event: %s %#v", event.Type, event.Object)
}
}
t.Fatalf("Unexpected error: %v", err)
}
defer watcher.Stop()

View File

@ -298,13 +298,3 @@ func (w *watchCache) GetAllEventsSince(resourceVersion uint64) ([]watchCacheEven
defer w.RUnlock()
return w.GetAllEventsSinceThreadUnsafe(resourceVersion)
}
// For debugging #18794 only.
func (w *watchCache) getAllCachedEvents() ([]watchCacheEvent, error) {
w.RLock()
defer w.RUnlock()
if w.startIndex == w.endIndex {
return make([]watchCacheEvent, 0), nil
}
return w.GetAllEventsSinceThreadUnsafe(w.cache[w.startIndex%w.capacity].resourceVersion)
}