lib/{storage,mergeset}: clean cached index blocks and inmemory blocks more aggressively

Previously such blocks were cleaned after they weren't accessed during 10 minutes.
Now they are cleaned after one minute of missing access. This should reduce memory usage in general case.
This commit is contained in:
Aliaksandr Valialkin 2020-11-04 16:41:59 +02:00
parent f35aafb6a5
commit c736339843
2 changed files with 6 additions and 6 deletions

View File

@ -231,8 +231,8 @@ func (idxbc *indexBlockCache) cleanByTimeout() {
currentTime := fasttime.UnixTimestamp() currentTime := fasttime.UnixTimestamp()
idxbc.mu.Lock() idxbc.mu.Lock()
for k, idxbe := range idxbc.m { for k, idxbe := range idxbc.m {
// Delete items accessed more than 10 minutes ago. // Delete items accessed more than a minute ago.
if currentTime-atomic.LoadUint64(&idxbe.lastAccessTime) > 10*60 { if currentTime-atomic.LoadUint64(&idxbe.lastAccessTime) > 60 {
delete(idxbc.m, k) delete(idxbc.m, k)
} }
} }
@ -378,8 +378,8 @@ func (ibc *inmemoryBlockCache) cleanByTimeout() {
currentTime := fasttime.UnixTimestamp() currentTime := fasttime.UnixTimestamp()
ibc.mu.Lock() ibc.mu.Lock()
for k, ibe := range ibc.m { for k, ibe := range ibc.m {
// Delete items accessed more than 10 minutes ago. // Delete items accessed more than a minute ago.
if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 10*60 { if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 60 {
delete(ibc.m, k) delete(ibc.m, k)
} }
} }

View File

@ -232,8 +232,8 @@ func (ibc *indexBlockCache) cleanByTimeout() {
currentTime := fasttime.UnixTimestamp() currentTime := fasttime.UnixTimestamp()
ibc.mu.Lock() ibc.mu.Lock()
for k, ibe := range ibc.m { for k, ibe := range ibc.m {
// Delete items accessed more than 10 minutes ago. // Delete items accessed more than a minute ago.
if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 10*60 { if currentTime-atomic.LoadUint64(&ibe.lastAccessTime) > 60 {
delete(ibc.m, k) delete(ibc.m, k)
} }
} }