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());
}
}