diff --git a/pkg/registry/generic/registry/storage_factory.go b/pkg/registry/generic/registry/storage_factory.go index 455247507..ca87a1883 100644 --- a/pkg/registry/generic/registry/storage_factory.go +++ b/pkg/registry/generic/registry/storage_factory.go @@ -42,7 +42,7 @@ func StorageWithCacher(capacity int) generic.StorageDecorator { triggerFunc storage.TriggerPublisherFunc) (storage.Interface, factory.DestroyFunc) { s, d := generic.NewRawStorage(storageConfig) - if capacity == 0 { + if capacity <= 0 { klog.V(5).Infof("Storage caching is disabled for %T", objectType) return s, d } diff --git a/pkg/server/options/etcd.go b/pkg/server/options/etcd.go index f1fe2c3b4..961271301 100644 --- a/pkg/server/options/etcd.go +++ b/pkg/server/options/etcd.go @@ -229,6 +229,7 @@ func (f *SimpleRestOptionsFactory) GetRESTOptions(resource schema.GroupResource) if !ok { cacheSize = f.Options.DefaultWatchCacheSize } + // depending on cache size this might return an undecorated storage ret.Decorator = genericregistry.StorageWithCacher(cacheSize) } return ret, nil @@ -262,6 +263,7 @@ func (f *StorageFactoryRestOptionsFactory) GetRESTOptions(resource schema.GroupR if !ok { cacheSize = f.Options.DefaultWatchCacheSize } + // depending on cache size this might return an undecorated storage ret.Decorator = genericregistry.StorageWithCacher(cacheSize) } @@ -285,7 +287,6 @@ func ParseWatchCacheSizes(cacheSizes []string) (map[schema.GroupResource]int, er if size < 0 { return nil, fmt.Errorf("watch cache size cannot be negative: %s", c) } - watchCacheSizes[schema.ParseGroupResource(tokens[0])] = size } return watchCacheSizes, nil