Fix a deadlock in trove when evicting objects when we reach the maxSize used

This commit is contained in:
Harshavardhana 2015-06-06 16:02:48 -07:00
parent d78832fb39
commit 21916dc0a1

View File

@ -127,11 +127,11 @@ func (r *Cache) Set(key string, value []byte) bool {
return false return false
} }
// remove random key if only we reach the maxSize threshold // remove random key if only we reach the maxSize threshold
for key := range r.items { for (r.currentSize + valueLen) > r.maxSize {
for (r.currentSize + valueLen) > r.maxSize { for key := range r.items {
r.doDelete(key) r.doDelete(key)
break
} }
break
} }
} }
r.items[key] = value r.items[key] = value