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

David Smiley commented on SOLR-8349:
------------------------------------

1. the classLoader separation is simply because there are libs and conf/ 
resources per-core, as cores might be for entirely separate purposes with 
different dependencies that might not even be compatible if it were all 
together.
2. RE memory-leak:  I propose the weakValues() feature of Guava's cache.  It's 
a nice cache :-)  No reference counting needed; we're in a VM that GCs.
3. you're right; this isn't just about analysis components.  But it would 
probably be incompatible with anything that implements CoreAware or SchemaAware 
as both those things are tied to a SolrCore.
4. RE "what's left to be loaded in the core level loader": I think this re-use 
feature should be explicitly opt-in.  Most stuff will cotinue as-is -- core 
level loader.  Docs for HunspellFactory on the ref guide could be augmented to 
suggest flagging global-reuse because we know it uses a lot of memory.
5. RE keys: I think just the W3C DOM Node.java instance is probably fine.  We 
might want to double-check it's equals() method makes sense and doesn't refer 
to the parent, or if it does find a way to clone/detach it.  Actually I think 
it does; so we'd call cloneNode(true) and use the result of that.  I'm not 
concerned on the efficiency of the keys; this cache isn't going to be hit hard.

Any way, lets continue this discussion if need be on a follow-on issue for 
actually _using_ the cache that this issue will create.  Cool?

> Allow sharing of large in memory data structures across cores
> -------------------------------------------------------------
>
>                 Key: SOLR-8349
>                 URL: https://issues.apache.org/jira/browse/SOLR-8349
>             Project: Solr
>          Issue Type: Improvement
>          Components: Server
>    Affects Versions: 5.3
>            Reporter: Gus Heck
>         Attachments: SOLR-8349.patch
>
>
> In some cases search components or analysis classes may utilize a large 
> dictionary or other in-memory structure. When multiple cores are loaded with 
> identical configurations utilizing this large in memory structure, each core 
> holds it's own copy in memory. This has been noted in the past and a specific 
> case reported in SOLR-3443. This patch provides a generalized capability, and 
> if accepted, this capability will then be used to fix SOLR-3443.



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

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

Reply via email to