Shalin Shekhar Mangar commented on SOLR-11204:

bq. Should {{ConcurrentLRUCache#ramBytesUsed}} synchronize on the map variable 
like {[LRUCache#ramBytesUsed}} ?

It is not necessary. The {{ramBytes}} in ConcurrentLRUCache is an AtomicLong 
but the one in LRUCache is not.

bq. LRUCache and ConcurrentLRUCache only tracks ramBytesUsed when maxRamMB is 

The algorithm used for eviction in ConcurrentLRUCache when maxRamMB is 
specified is more inefficient (always makes 3 passes vs usually just 1 pass) 
then when using sizes. This is also the cause of another way in which 
ConcurrentLRUCache is different from LRUCache i.e. LRUCache uses both maxRamMB 
and size for eviction but ConcurrentLRUCache uses only one of them at a time. 
Therefore there was no need to track ram usage if we weren't going to use them.

That being said, tracking ram bytes is not that expensive that we couldn't do 
it by default. But we still cannot support both maxRamMB and max size together.

> Expose a total size stat for the query result and filter cache
> --------------------------------------------------------------
>                 Key: SOLR-11204
>                 URL: https://issues.apache.org/jira/browse/SOLR-11204
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Varun Thacker
>            Priority: Minor
> It will be useful to display the size of the filter cache and query result 
> cache currently being used . We added support for this to the field cache in 
> SOLR-9844

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to