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.