[ https://issues.apache.org/jira/browse/SOLR-5580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13858906#comment-13858906 ]
Noble Paul commented on SOLR-5580: ---------------------------------- bq.Register the core. If you don't use the Collections API, the behavior is simple and straightforward. The problem is , the deletereplica did not help. The collections api should get importance than cores going up and down. The reason why I called the deletereplica when the core was down was to avoid having another replica (and to clean up clusterstate) . One of my purpose is defeated bq.For a much better experience, we should finish the collections api I completely agree with you. We are pursuing them one by one. One day I want collections API to be the definitive way to achieve almost anything on SolrCloud. So I want collection API's to take precedence over others I think the user has a problem because we didn't document this new behavior , mea culpa > 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