[ 
https://issues.apache.org/jira/browse/SOLR-8906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15222638#comment-15222638
 ] 

Ben Manes commented on SOLR-8906:
---------------------------------

Not sure if it helps, but there's discussion of using TinyLFU instead of LRU / 
LFU for the SolrCache 
([SOLR-8241|https://issues.apache.org/jira/browse/SOLR-8241]). That library 
could be used instead of LRU here too to evict based on recency and frequency. 
From my reading of 
[transientCores|https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/core/SolrCores.java#L76]
 that appears to be a simple migration. 

> Make transient core cache pluggable.
> ------------------------------------
>
>                 Key: SOLR-8906
>                 URL: https://issues.apache.org/jira/browse/SOLR-8906
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>
> The current Lazy Core stuff is pretty deeply intertwined in CoreContainer. 
> Adding and removing active cores is based on a simple LRU mechanism, but 
> keeping the right cores in the right internal structures involves a lot of 
> attention to locking various objects to update internal structures. This 
> makes it difficult/dangerous to use any other caching algorithms.
> Any single age-out algorithm will have non-optimal access patterns, so making 
> this pluggable would allow better algorithms to be substituted in those cases.
> If we ever extend transient cores to SolrCloud, we need to have load/unload 
> decisions that are cloud-aware rather then entirely local so in that sense 
> this is would lay some groundwork if we ever want to go there.
> So I'm going to try to hack together a PoC. Any ideas on the most sensible 
> pattern for this gratefully received.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to