David Smiley created SOLR-14652:
-----------------------------------

             Summary: SolrCore should hold its own CoreDescriptor
                 Key: SOLR-14652
                 URL: https://issues.apache.org/jira/browse/SOLR-14652
             Project: Solr
          Issue Type: Task
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: David Smiley
            Assignee: David Smiley


SolrCore.getCoreDescriptor() surprisingly must do 
{{coreContainer.getCoreDescriptor(name)}} instead of simply return a field on 
itself.  I think it's more sane that a SolrCore hold onto its own descriptor 
making it unequivocally clear it will get it.  I've seen a transient-core edge 
case where it didn't, though I don't want to classify this issue as a bug fix 
over that.

Also:
 * SolrCore's constructors don't need a "name" since it's guaranteed to always 
be the name in the coreDescriptor.  I checked.
 * SolrCore's constructor shouldn't call 
{{coreContainer.solrCores.addCoreDescriptor(cd);}} because it's the container's 
responsibility to manage such things.  I made SolrCores.putCore ensure the 
descriptor is added, and this is called by CoreContainer.registerCore which is 
called after new SolrCore instances are created.
 * solrCore.setName should only be called when we expect the name to change.  
Furthermore that shouldn't ever happen in SolrCloud so I added checks.
 * solrCore.setName calls {{coreMetricManager.afterCoreSetName()}} which is 
something that is really only related to a _rename_, not name initialization 
(from the constructor).  I renamed that method and further only call it if the 
name did change from non-null.  

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to