You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by Kay Kay <ka...@gmail.com> on 2008/12/22 18:15:36 UTC

CoreContainer.register() interaction with - SolrCoreAware . inform(SolrCore )

When we call
   CoreContainer.register(String name, SolrCore newCore, false) -

we are removing the pending association with the old core with the same 
name and re-registering it again with the new core name.

At this point - do we want to walk through all SolrCoreAware 
implementations - to inform them of the new core again , with the same 
name.

Currently today - request handlers that implement SolrCoreAware 
interface , on registration save the old core reference as a field 
locally .

When we (CoreContainer.register) update the SolrCore reference with a 
new one - we potentially seem to be having a memory leak here since the 
references to the old core (first core) continue to exist as fields in 
some implementations that implement SolrCoreAware .

So - for every register with a new SolrCore for a given name, (if the 
old core exists and not the same as the new core) - do we need to inform 
the SolrCoreAware impl-s again so that the impl-s can assign the new 
core to their fields and thereby helping the old SolrCore not reachable. 

Let me know your thoughts on the same.