You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2012/02/22 15:30:53 UTC
svn commit: r1292312 -
/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
Author: markrmiller
Date: Wed Feb 22 14:30:53 2012
New Revision: 1292312
URL: http://svn.apache.org/viewvc?rev=1292312&view=rev
Log:
be careful about retrying rather than NPE
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1292312&r1=1292311&r2=1292312&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Wed Feb 22 14:30:53 2012
@@ -36,6 +36,7 @@ import org.apache.solr.cloud.ZkControlle
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.cloud.CloudState;
+import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
@@ -645,20 +646,21 @@ public class CoreAdminHandler extends Re
.getZkController()
.getCloudState();
String collection = cloudDescriptor.getCollectionName();
- ZkNodeProps nodeProps =
- cloudState.getSlice(collection,
- cloudDescriptor.getShardId()).getShards().get(coreNodeName);
-
- if (nodeProps != null) {
- state = nodeProps.get(ZkStateReader.STATE_PROP);
- live = cloudState.liveNodesContain(nodeName);
- if (nodeProps != null && state.equals(waitForState)) {
- if (checkLive == null) {
- break;
- } else if (checkLive && live) {
- break;
- } else if (!checkLive && !live) {
- break;
+ Slice slice = cloudState.getSlice(collection,
+ cloudDescriptor.getShardId());
+ if (slice != null) {
+ ZkNodeProps nodeProps = slice.getShards().get(coreNodeName);
+ if (nodeProps != null) {
+ state = nodeProps.get(ZkStateReader.STATE_PROP);
+ live = cloudState.liveNodesContain(nodeName);
+ if (nodeProps != null && state.equals(waitForState)) {
+ if (checkLive == null) {
+ break;
+ } else if (checkLive && live) {
+ break;
+ } else if (!checkLive && !live) {
+ break;
+ }
}
}
}