Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
The IndexSchema has a SolrResourceLoader that's taken from a SolrConfig in its constructor. If this IndexSchema gets re-used across Solr cores (via "shareSchema" being true in solr.xml), and if this resourceLoader is used in the future from a core that differs from the core the schema was created from, bad things can happen (like a memory leak in SolrResourceLoader.waitingForResources). The resourceLoader here is only actually needed to help create the schema stuff, like analyzers. Once it's done, it isn't needed anymore. However our Solr code base is using this in other places that are not appropriate. It's a subtle problem as there's a confluence of circumstances that need to occur to trigger it.