Skip to content

Commit 8261d3d

Browse files
committed
use cache size to signal undecorated storage
1 parent ee50d47 commit 8261d3d

File tree

4 files changed

+4
-6
lines changed

4 files changed

+4
-6
lines changed

pkg/registry/cachesize/cachesize.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ func NewHeuristicWatchCacheSizes(expectedRAMCapacityMB int) map[schema.GroupReso
3939
watchCacheSizes[schema.GroupResource{Resource: "nodes"}] = maxInt(5*clusterSize, 1000)
4040
watchCacheSizes[schema.GroupResource{Resource: "pods"}] = maxInt(50*clusterSize, 1000)
4141
watchCacheSizes[schema.GroupResource{Resource: "services"}] = maxInt(5*clusterSize, 1000)
42+
watchCacheSizes[schema.GroupResource{Resource: "events"}] = 0
4243
watchCacheSizes[schema.GroupResource{Resource: "apiservices", Group: "apiregistration.k8s.io"}] = maxInt(5*clusterSize, 1000)
4344
return watchCacheSizes
4445
}

pkg/registry/core/event/storage/storage.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter, ttl uint64) *REST {
4040
panic(err) // TODO: Propagate error up
4141
}
4242

43-
// We explicitly do NOT do any decoration here - switching on Cacher
44-
// for events will lead to too high memory consumption.
45-
opts.Decorator = generic.UndecoratedStorage // TODO use watchCacheSize=-1 to signal UndecoratedStorage
46-
4743
store := &genericregistry.Store{
4844
NewFunc: func() runtime.Object { return &api.Event{} },
4945
NewListFunc: func() runtime.Object { return &api.EventList{} },

staging/src/k8s.io/apiserver/pkg/registry/generic/registry/storage_factory.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func StorageWithCacher(capacity int) generic.StorageDecorator {
4242
triggerFunc storage.TriggerPublisherFunc) (storage.Interface, factory.DestroyFunc) {
4343

4444
s, d := generic.NewRawStorage(storageConfig)
45-
if capacity == 0 {
45+
if capacity <= 0 {
4646
klog.V(5).Infof("Storage caching is disabled for %T", objectType)
4747
return s, d
4848
}

staging/src/k8s.io/apiserver/pkg/server/options/etcd.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ func (f *SimpleRestOptionsFactory) GetRESTOptions(resource schema.GroupResource)
229229
if !ok {
230230
cacheSize = f.Options.DefaultWatchCacheSize
231231
}
232+
// depending on cache size this might return an undecorated storage
232233
ret.Decorator = genericregistry.StorageWithCacher(cacheSize)
233234
}
234235
return ret, nil
@@ -262,6 +263,7 @@ func (f *StorageFactoryRestOptionsFactory) GetRESTOptions(resource schema.GroupR
262263
if !ok {
263264
cacheSize = f.Options.DefaultWatchCacheSize
264265
}
266+
// depending on cache size this might return an undecorated storage
265267
ret.Decorator = genericregistry.StorageWithCacher(cacheSize)
266268
}
267269

@@ -285,7 +287,6 @@ func ParseWatchCacheSizes(cacheSizes []string) (map[schema.GroupResource]int, er
285287
if size < 0 {
286288
return nil, fmt.Errorf("watch cache size cannot be negative: %s", c)
287289
}
288-
289290
watchCacheSizes[schema.ParseGroupResource(tokens[0])] = size
290291
}
291292
return watchCacheSizes, nil

0 commit comments

Comments
 (0)