mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-05 01:01:09 +01:00
lib/workingsetcache: do not rotate cache if it is in whole
state
This should reduce the maximum memory usage for the cache in `whole` state
This commit is contained in:
parent
54221297d1
commit
6fd85117ac
@ -172,6 +172,9 @@ func (c *Cache) cacheSizeWatcher() {
|
||||
return
|
||||
case <-t.C:
|
||||
}
|
||||
if c.loadMode() != split {
|
||||
continue
|
||||
}
|
||||
var cs fastcache.Stats
|
||||
curr := c.curr.Load().(*fastcache.Cache)
|
||||
curr.UpdateStats(&cs)
|
||||
@ -188,10 +191,10 @@ func (c *Cache) cacheSizeWatcher() {
|
||||
// Do this in the following steps:
|
||||
// 1) switch to mode=switching
|
||||
// 2) move curr cache to prev
|
||||
// 3) create curr with the double size
|
||||
// 4) wait until curr size exceeds maxBytesSize, i.e. it is populated with new data
|
||||
// 3) create curr cache with doubled size
|
||||
// 4) wait until curr cache size exceeds maxBytesSize, i.e. it is populated with new data
|
||||
// 5) switch to mode=whole
|
||||
// 6) drop prev
|
||||
// 6) drop prev cache
|
||||
|
||||
c.mu.Lock()
|
||||
c.setMode(switching)
|
||||
|
Loading…
Reference in New Issue
Block a user