mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Revert "Rely on default watch cache capacity and ignore its requested size"
This reverts PR 91260
This commit is contained in:
parent
3d7847ed01
commit
6249f287e1
@ -61,8 +61,6 @@ const (
|
|||||||
// Config contains the configuration for a given Cache.
|
// Config contains the configuration for a given Cache.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
// Maximum size of the history cached in memory.
|
// Maximum size of the history cached in memory.
|
||||||
//
|
|
||||||
// DEPRECATED: Cache capacity is dynamic and this field is no longer used.
|
|
||||||
CacheCapacity int
|
CacheCapacity int
|
||||||
|
|
||||||
// An underlying storage.Interface.
|
// An underlying storage.Interface.
|
||||||
@ -359,7 +357,7 @@ func NewCacherFromConfig(config Config) (*Cacher, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
watchCache := newWatchCache(
|
watchCache := newWatchCache(
|
||||||
config.KeyFunc, cacher.processEvent, config.GetAttrsFunc, config.Versioner, config.Indexers, objType)
|
config.CacheCapacity, config.KeyFunc, cacher.processEvent, config.GetAttrsFunc, config.Versioner, config.Indexers, objType)
|
||||||
listerWatcher := NewCacherListerWatcher(config.Storage, config.ResourcePrefix, config.NewListFunc)
|
listerWatcher := NewCacherListerWatcher(config.Storage, config.ResourcePrefix, config.NewListFunc)
|
||||||
reflectorName := "storage/cacher.go:" + config.ResourcePrefix
|
reflectorName := "storage/cacher.go:" + config.ResourcePrefix
|
||||||
|
|
||||||
|
@ -193,6 +193,7 @@ type watchCache struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newWatchCache(
|
func newWatchCache(
|
||||||
|
capacity int,
|
||||||
keyFunc func(runtime.Object) (string, error),
|
keyFunc func(runtime.Object) (string, error),
|
||||||
eventHandler func(*watchCacheEvent),
|
eventHandler func(*watchCacheEvent),
|
||||||
getAttrsFunc func(runtime.Object) (labels.Set, fields.Set, error),
|
getAttrsFunc func(runtime.Object) (labels.Set, fields.Set, error),
|
||||||
@ -200,12 +201,13 @@ func newWatchCache(
|
|||||||
indexers *cache.Indexers,
|
indexers *cache.Indexers,
|
||||||
objectType reflect.Type) *watchCache {
|
objectType reflect.Type) *watchCache {
|
||||||
wc := &watchCache{
|
wc := &watchCache{
|
||||||
capacity: defaultLowerBoundCapacity,
|
capacity: capacity,
|
||||||
keyFunc: keyFunc,
|
keyFunc: keyFunc,
|
||||||
getAttrsFunc: getAttrsFunc,
|
getAttrsFunc: getAttrsFunc,
|
||||||
cache: make([]*watchCacheEvent, defaultLowerBoundCapacity),
|
cache: make([]*watchCacheEvent, capacity),
|
||||||
lowerBoundCapacity: defaultLowerBoundCapacity,
|
// TODO get rid of them once we stop passing capacity as a parameter to watch cache.
|
||||||
upperBoundCapacity: defaultUpperBoundCapacity,
|
lowerBoundCapacity: min(capacity, defaultLowerBoundCapacity),
|
||||||
|
upperBoundCapacity: max(capacity, defaultUpperBoundCapacity),
|
||||||
startIndex: 0,
|
startIndex: 0,
|
||||||
endIndex: 0,
|
endIndex: 0,
|
||||||
store: cache.NewIndexer(storeElementKey, storeElementIndexers(indexers)),
|
store: cache.NewIndexer(storeElementKey, storeElementIndexers(indexers)),
|
||||||
|
@ -81,14 +81,7 @@ func newTestWatchCache(capacity int, indexers *cache.Indexers) *watchCache {
|
|||||||
}
|
}
|
||||||
versioner := etcd3.APIObjectVersioner{}
|
versioner := etcd3.APIObjectVersioner{}
|
||||||
mockHandler := func(*watchCacheEvent) {}
|
mockHandler := func(*watchCacheEvent) {}
|
||||||
wc := newWatchCache(keyFunc, mockHandler, getAttrsFunc, versioner, indexers, reflect.TypeOf(&example.Pod{}))
|
wc := newWatchCache(capacity, keyFunc, mockHandler, getAttrsFunc, versioner, indexers, reflect.TypeOf(&example.Pod{}))
|
||||||
// To preserve behavior of tests that assume a given capacity,
|
|
||||||
// resize it to th expected size.
|
|
||||||
wc.capacity = capacity
|
|
||||||
wc.cache = make([]*watchCacheEvent, capacity)
|
|
||||||
wc.lowerBoundCapacity = min(capacity, defaultLowerBoundCapacity)
|
|
||||||
wc.upperBoundCapacity = max(capacity, defaultUpperBoundCapacity)
|
|
||||||
|
|
||||||
wc.clock = clock.NewFakeClock(time.Now())
|
wc.clock = clock.NewFakeClock(time.Now())
|
||||||
return wc
|
return wc
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user