Details
-
Improvement
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
1.3
-
None
-
None
-
None
Description
These 3 classes and the name vs alias handling are somewhat confusing.
The recent SOLR-647 & SOLR-716 have created a bit of a flux.
This issue attemps to clarify the model and the list of operations.
CoreDescriptor: describes the parameters of a SolrCore
Definitions
- has one name
- The CoreDescriptor name may represent multiple aliases; in that case, first alias is the SolrCore name
- has one instance directory location
- has one config & schema name
Operations
The class is only a parameter passing facility
SolrCore: manages a Lucene index
Definitions
- has one unique name (in the CoreContainer)
- the name is used in JMX to identify the core
- has one current set of aliases
- the name is the first alias
Name & alias operations
- get name/aliases: obvious
- alias: adds an alias to this SolrCore
- unalias: removes an alias from this SolrCore
- name: sets the SolrCore name
- potentially impacts JMX registration
- rename: picks a new name from the SolrCore aliases
- triggered when alias name is already in use
CoreContainer: manages all relations between cores & descriptors
Definitions
- has a set of aliases (each of them pointing to one core)
- ensure alias uniqueness.
SolrCore instance operations
- load: makes a SolrCore available for requests
- creates a SolrCore
- registers all SolrCore aliases in the aliases set
- (load = create + register)
- unload: removes a core idenitified by one of its aliases
- stops handling the Lucene index
- all SolrCore aliases are removed
- reload: recreate the core identified by one of its aliases
- create: create a core from a CoreDescriptor
- readies up the Lucene index
- register: registers all aliases of a SolrCore
SolrCore alias operations
- swap: swaps 2 aliases
- method: swap
- alias: creates 1 alias for a core, potentially unaliasing a previously used alias
- The SolrCore name being an alias, this operation might trigger a SolrCore rename
- unalias: removes 1 alias for a core
- The SolrCore name being an alias, this operation might trigger a SolrCore rename
- rename: renames a core
CoreAdminHandler: handles CoreContainer operations
- load/create: CoreContainer load
- unload: CoreContainer unload
- reload: CoreContainer reload
- swap: CoreContainer swap
- alias: CoreContainer alias
- unalias: CoreContainer unalias
- rename: CoreContainer rename
- persist: CoreContainer persist, writes the solr.xml
- stauts: returns the status of all/one SolrCore
Attachments
Attachments
Issue Links
- relates to
-
SOLR-723 SolrCore & aliasing/swapping may lead to confusing JMX
- Reopened
-
SOLR-735 CoreContainer.unload should remove all aliases of a core
- Resolved
-
SOLR-722 CoreContainer.reload should make core aliases point to reloaded core
- Closed
-
SOLR-731 CoreDescriptor.getCoreContainer should not be public
- Closed
-
SOLR-724 CoreDescriptor.{get,set}CoreProperties should probably not be public (but package private)
- Closed