[ 
https://issues.apache.org/jira/browse/SOLR-725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625805#action_12625805
 ] 

Henri Biestro commented on SOLR-725:
------------------------------------

Shalin -
We decref the counter appropriately (registerNotSynchronized does not do it) or 
I just dont see the issue so I 'll assume that what bothers you is that 
unaliasing a core should not have the potential effect of closing it.
If we use Yonik's model, there is no reason not to; the model is akin to the 
inode / hard-link model on Unix. The inode in our case is the Lucene index (the 
dataDir, managed by the SolrCore) - and the aliases are the hardlinks. If you 
remove all links (unalias all aliases), the inode (of the Lucene index) goes 
away. Even if the unlink (unalias) is the side effect of another 'ln' (alias).

A symbolic link model - as Paul proposes - is a different one. 
I don't get yet what the hard-link/Yonik's model problem is which I'd find 
useful to understand .

Paul -
bq. But as things stand we are removing some commonly useful methods
Which ones? Is it something that impacts solr-561 somehow?
Btw, your example started using the alias *feature* ,( not the alias 
*command*), creating a core with name 'version-3.0' and alias 'dev' 
(*1-create('version-3.0,dev') *); thus the difficulty to get your previous 
point.




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

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