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

Noble Paul commented on SOLR-5580:
----------------------------------

OK, Now I see it. 
(Not the solution , but the diagnosis)
For your usecase,  the collection was created with an older version of Solr. So 
the , property 'autoCreated' is absent from the collection. 

slice would have never been null in a normal case. The reason being if you 
created the system with numShards=x the system would have created shard1 to 
shardx right away. If it was a custom collection it would have expected you to 
create the slice first
 
Do you have multiple replicas or do you just keep one copy of the index? 
How did naming the coreNodeName "Test1" help you instead of "core_node1" ?  I'm 
assuming you somehow encode the data dir in the coreNodeName

> SOLR-5311 was done without full understanding of the system and must be 
> reverted.
> ---------------------------------------------------------------------------------
>
>                 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to