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

Mark Miller commented on SOLR-5580:
-----------------------------------

bq. The problem is that, If I removed a replica from clusterstate and then the 
core came up, What is the desired behavior? register the core or unload the 
core?

Register the core. If you don't use the Collections API, the behavior is simple 
and straightforward. For a much better experience, we should finish the 
collections api, so we can deprecate dealing with individual cores.

bq. The use case is, A node went down and I don't need to replace it with 
another node because I have enough replicas. Now I need to clean up the 
clusterstate .Currently there is no way to achieve it

That's why SOLR-5310 still makes sense and should still work fine for this 
case...

> NPE when create a core with both explicite  shard and coreNodeName
> ------------------------------------------------------------------
>
>                 Key: SOLR-5580
>                 URL: https://issues.apache.org/jira/browse/SOLR-5580
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 4.6
>         Environment: OS:Red Hat Enterprise Linux Server release 6.4 (Santiago)
> Software:solr 4.6,
>                jdk:OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)
>                     OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
>            Reporter: YouPeng Yang
>            Assignee: Mark Miller
>              Labels: core
>             Fix For: 5.0, 4.7, 4.6.1
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> In class org.apache.solr.cloud.Overseer the Line 360:
> ---------------------------------------------------------------------
>           if (sliceName !=null && collectionExists &&  
> !"true".equals(state.getCollection(collection).getStr("autoCreated"))) {
>             Slice slice = state.getSlice(collection, sliceName);
>             if (slice.getReplica(coreNodeName) == null) {
>               log.info("core_deleted . Just return");
>               return state;
>             }
>           }
> ---------------------------------------------------------------------
> the slice needs to be checked null .because when create a new core with both 
> explicite shard and coreNodeName, the state.getSlice(collection, sliceName)  
> may return a null.So it needs to be checked ,or there will be an 
> NullpointException
> ---------------------------------------------------------------------
>           if (sliceName !=null && collectionExists &&  
> !"true".equals(state.getCollection(collection).getStr("autoCreated"))) {
>             Slice slice = state.getSlice(collection, sliceName);
>             if (slice != null && slice.getReplica(coreNodeName) == null) {
>               log.info("core_deleted . Just return");
>               return state;
>             }
>           }
> ---------------------------------------------------------------------



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

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

Reply via email to