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;
+              }
             }
           }
         }