[ 
https://issues.apache.org/jira/browse/SOLR-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henri Biestro updated SOLR-725:
-------------------------------

    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. 

h3. CoreDescriptor: describes the parameters of a SolrCore

h4. 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

h4. Operations
The class is only a parameter passing facility

h3. SolrCore: manages a Lucene index

h4. 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

h4. 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


h3. CoreContainer: manages all relations between cores & descriptors

h4. Definitions
* has a set of aliases (each of them pointing to one core)
**      ensure alias uniqueness.

h4. 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
                        
h4. 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

h3. 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



  was:

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. 

h3. CoreDescriptor: describes the parameters of a SolrCore

h4. 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

h4. Operations
The class is only a parameter passing facility

h3. SolrCore: manages a Lucene index

h4. 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

h4. 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


h3. CoreContainer: manages all relations between cores & descriptors

h4. Definitions
* has a set of aliases (each of them pointing to one core)
**      ensure alias uniqueness.

h4. 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
                        
h4. 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
                        




> CoreContainer/CoreDescriptor/SolrCore cleansing
> -----------------------------------------------
>
>                 Key: SOLR-725
>                 URL: https://issues.apache.org/jira/browse/SOLR-725
>             Project: Solr
>          Issue Type: Improvement
>    Affects Versions: 1.3
>            Reporter: Henri Biestro
>         Attachments: solr-725.patch, solr-725.patch
>
>
> 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. 
> h3. CoreDescriptor: describes the parameters of a SolrCore
> h4. 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
> h4. Operations
> The class is only a parameter passing facility
> h3. SolrCore: manages a Lucene index
> h4. 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
> h4. 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
> h3. CoreContainer: manages all relations between cores & descriptors
> h4. Definitions
> * has a set of aliases (each of them pointing to one core)
> **    ensure alias uniqueness.
> h4. 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
>                       
> h4. 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
> h3. 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to