You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2012/12/07 23:06:38 UTC

svn commit: r1418507 - /lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java

Author: yonik
Date: Fri Dec  7 22:06:37 2012
New Revision: 1418507

URL: http://svn.apache.org/viewvc?rev=1418507&view=rev
Log:
SOLR-2592: more DocCollection refactoring in tests

Modified:
    lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java

Modified: lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java?rev=1418507&r1=1418506&r2=1418507&view=diff
==============================================================================
--- lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java (original)
+++ lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java Fri Dec  7 22:06:37 2012
@@ -46,6 +46,7 @@ import org.apache.solr.common.SolrDocume
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.cloud.ClusterState;
+import org.apache.solr.common.cloud.DocCollection;
 import org.apache.solr.common.cloud.Replica;
 import org.apache.solr.common.cloud.Slice;
 import org.apache.solr.common.cloud.ZkCoreNodeProps;
@@ -375,30 +376,24 @@ public abstract class AbstractFullDistri
     shardToJetty.clear();
     
     ClusterState clusterState = zkStateReader.getClusterState();
-    Map<String,Slice> slices = clusterState.getSlicesMap(DEFAULT_COLLECTION);
-    
-    if (slices == null) {
-      throw new RuntimeException("No slices found for collection "
-          + DEFAULT_COLLECTION + " in " + clusterState.getCollections());
-    }
-    
+    DocCollection coll = clusterState.getCollection(DEFAULT_COLLECTION);
+
     List<CloudSolrServerClient> theClients = new ArrayList<CloudSolrServerClient>();
     for (SolrServer client : clients) {
       // find info for this client in zk 
       nextClient:
-      // we find ou state by simply matching ports...
-      for (Map.Entry<String,Slice> slice : slices.entrySet()) {
-        Map<String,Replica> theShards = slice.getValue().getReplicasMap();
-        for (Map.Entry<String,Replica> shard : theShards.entrySet()) {
+      // we find out state by simply matching ports...
+      for (Slice slice : coll.getSlices()) {
+        for (Replica replica : slice.getReplicas()) {
           int port = new URI(((HttpSolrServer) client).getBaseURL())
               .getPort();
           
-          if (shard.getKey().contains(":" + port + "_")) {
+          if (replica.getName().contains(":" + port + "_")) {
             CloudSolrServerClient csc = new CloudSolrServerClient();
             csc.solrClient = client;
             csc.port = port;
-            csc.shardName = shard.getValue().getStr(ZkStateReader.NODE_NAME_PROP);
-            csc.info = shard.getValue();
+            csc.shardName = replica.getStr(ZkStateReader.NODE_NAME_PROP);
+            csc.info = replica;
             
             theClients .add(csc);
             
@@ -415,27 +410,25 @@ public abstract class AbstractFullDistri
       }
       
       nextJetty:
-      for (Map.Entry<String,Slice> slice : slices.entrySet()) {
-        Map<String,Replica> theShards = slice.getValue().getReplicasMap();
-        for (Map.Entry<String,Replica> shard : theShards.entrySet()) {
-          if (shard.getKey().contains(":" + port + "_")) {
-            List<CloudJettyRunner> list = shardToJetty.get(slice.getKey());
+      for (Slice slice : coll.getSlices()) {
+        for (Replica replica : slice.getReplicas()) {
+          if (replica.getName().contains(":" + port + "_")) {
+            List<CloudJettyRunner> list = shardToJetty.get(slice.getName());
             if (list == null) {
               list = new ArrayList<CloudJettyRunner>();
-              shardToJetty.put(slice.getKey(), list);
+              shardToJetty.put(slice.getName(), list);
             }
-            boolean isLeader = shard.getValue().containsKey(
-                ZkStateReader.LEADER_PROP);
+            boolean isLeader = slice.getLeader() == replica;
             CloudJettyRunner cjr = new CloudJettyRunner();
             cjr.jetty = jetty;
-            cjr.info = shard.getValue();
-            cjr.nodeName = shard.getValue().getStr(ZkStateReader.NODE_NAME_PROP);
-            cjr.coreNodeName = shard.getKey();
-            cjr.url = shard.getValue().getStr(ZkStateReader.BASE_URL_PROP) + "/" + shard.getValue().getStr(ZkStateReader.CORE_NAME_PROP);
+            cjr.info = replica;
+            cjr.nodeName = replica.getStr(ZkStateReader.NODE_NAME_PROP);
+            cjr.coreNodeName = replica.getName();
+            cjr.url = replica.getStr(ZkStateReader.BASE_URL_PROP) + "/" + replica.getStr(ZkStateReader.CORE_NAME_PROP);
             cjr.client = findClientByPort(port, theClients);
             list.add(cjr);
             if (isLeader) {
-              shardToLeaderJetty.put(slice.getKey(), cjr);
+              shardToLeaderJetty.put(slice.getName(), cjr);
             }
             cloudJettys.add(cjr);
             break nextJetty;
@@ -447,12 +440,12 @@ public abstract class AbstractFullDistri
     // # of jetties may not match replicas in shard here, because we don't map
     // jetties that are not running - every shard should have at least one
     // running jetty though
-    for (Map.Entry<String,Slice> slice : slices.entrySet()) {
+    for (Slice slice : coll.getSlices()) {
       // check that things look right
-      List<CloudJettyRunner> jetties = shardToJetty.get(slice.getKey());
-      assertNotNull("Test setup problem: We found no jetties for shard: " + slice.getKey()
+      List<CloudJettyRunner> jetties = shardToJetty.get(slice.getName());
+      assertNotNull("Test setup problem: We found no jetties for shard: " + slice.getName()
           + " just:" + shardToJetty.keySet(), jetties);
-      assertEquals(slice.getValue().getReplicasMap().size(), jetties.size());
+      assertEquals(slice.getReplicas().size(), jetties.size());
     }
   }