[
https://issues.apache.org/jira/browse/SOLR-14232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17050553#comment-17050553
]
David Smiley commented on SOLR-14232:
-------------------------------------
If SRL is created per-IndexSchems (when shareSchema=true) as it should be
changed to, unquestionably, then perhaps "waitingForCore", "infoMBeans" will be
simply unsupported -- can't use components that need those things -- should
cause an error as being incompatible.
> Add shareSchema leak protections
> --------------------------------
>
> Key: SOLR-14232
> URL: https://issues.apache.org/jira/browse/SOLR-14232
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: Schema and Analysis
> Reporter: David Smiley
> Priority: Major
>
> The shareSchema option in solr.xml allows cores to share a common
> IndexSchema, assuming the underlying schema is literally the same (from the
> same configSet). However this sharing has no protections to prevent an
> IndexSchema from accidentally referencing the SolrCore and its settings. The
> effect might be nondeterministic behavior depending on which core loaded the
> schema first, or the effect might be a memory leak preventing a closed
> SolrCore from GC'ing, or maybe an error. Example:
> * IndexSchema could theoretically do property expansion using the core's
> props, such as solr.core.name, silly as that may be.
> * IndexSchema uses the same SolrResourceLoader for the core, which in turn
> tracks infoMBeans and other things that can refer to the core. It should
> probably have it's own SolrResourceLoader but it's not trivial; there are
> complications with life-cycle of ResourceLoaderAware tracking etc.
> * If anything in IndexSchema is SolrCoreAware, this isn't going to work!
> ** SchemaSimilarityFactory is SolrCoreAware, though I think it could be
> reduced to being SchemaAware and work.
> ** ExternalFileField is currently SchemaAware it grabs the
> SolrResourceLoader to call getDataDir which is bad. FYI In a separate PR I'm
> removing getDataDir from SRL.
> ** Should probably fail if anything is detected.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]