You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2013/12/03 21:20:48 UTC
svn commit: r1547565 - in /lucene/dev/trunk/solr:
core/src/java/org/apache/solr/cloud/ core/src/test/org/apache/solr/cloud/
solrj/src/java/org/apache/solr/common/cloud/
test-framework/src/java/org/apache/solr/cloud/
Author: noble
Date: Tue Dec 3 20:20:48 2013
New Revision: 1547565
URL: http://svn.apache.org/r1547565
Log:
SOLR-5525
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/Overseer.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/Overseer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/Overseer.java?rev=1547565&r1=1547564&r2=1547565&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/Overseer.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/Overseer.java Tue Dec 3 20:20:48 2013
@@ -464,7 +464,7 @@ public class Overseer {
//request new shardId
if (collectionExists) {
// use existing numShards
- numShards = state.getCollectionStates().get(collection).getSlices().size();
+ numShards = state.getCollection(collection).getSlices().size();
log.info("Collection already exists with " + ZkStateReader.NUM_SHARDS_PROP + "=" + numShards);
}
sliceName = Assign.assignShard(collection, state, numShards);
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java?rev=1547565&r1=1547564&r2=1547565&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java Tue Dec 3 20:20:48 2013
@@ -1106,7 +1106,7 @@ public class OverseerCollectionProcessor
private void migrateKey(ClusterState clusterState, DocCollection sourceCollection, Slice sourceSlice, DocCollection targetCollection, Slice targetSlice, String splitKey, int timeout, NamedList results) throws KeeperException, InterruptedException {
String tempSourceCollectionName = "split_" + sourceSlice.getName() + "_temp_" + targetSlice.getName();
- if (clusterState.getCollectionStates().containsKey(tempSourceCollectionName)) {
+ if (clusterState.hasCollection(tempSourceCollectionName)) {
log.info("Deleting temporary collection: " + tempSourceCollectionName);
Map<String, Object> props = ZkNodeProps.makeMap(
QUEUE_OPERATION, DELETECOLLECTION,
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java?rev=1547565&r1=1547564&r2=1547565&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java Tue Dec 3 20:20:48 2013
@@ -1009,10 +1009,11 @@ public class CollectionsAPIDistributedZk
private void collectStartTimes(String collectionName,
Map<String,Long> urlToTime) throws SolrServerException, IOException {
- Map<String,DocCollection> collections = getCommonCloudSolrServer().getZkStateReader()
- .getClusterState().getCollectionStates();
- if (collections.containsKey(collectionName)) {
- Map<String,Slice> slices = collections.get(collectionName).getSlicesMap();
+ ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader()
+ .getClusterState();
+// Map<String,DocCollection> collections = clusterState.getCollectionStates();
+ if (clusterState.hasCollection(collectionName)) {
+ Map<String,Slice> slices = clusterState.getSlicesMap(collectionName);
Iterator<Entry<String,Slice>> it = slices.entrySet().iterator();
while (it.hasNext()) {
@@ -1036,13 +1037,13 @@ public class CollectionsAPIDistributedZk
}
} else {
throw new IllegalArgumentException("Could not find collection in :"
- + collections.keySet());
+ + clusterState.getCollections());
}
}
private String getUrlFromZk(String collection) {
ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader().getClusterState();
- Map<String,Slice> slices = clusterState.getCollectionStates().get(collection).getSlicesMap();
+ Map<String,Slice> slices = clusterState.getSlicesMap(collection);
if (slices == null) {
throw new SolrException(ErrorCode.BAD_REQUEST, "Could not find collection:" + collection);
@@ -1097,9 +1098,9 @@ public class CollectionsAPIDistributedZk
while (System.currentTimeMillis() < timeoutAt) {
getCommonCloudSolrServer().getZkStateReader().updateClusterState(true);
ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader().getClusterState();
- Map<String,DocCollection> collections = clusterState
- .getCollectionStates();
- if (!collections.containsKey(collectionName)) {
+// Map<String,DocCollection> collections = clusterState
+// .getCollectionStates();
+ if (! clusterState.hasCollection(collectionName)) {
found = false;
break;
}
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java?rev=1547565&r1=1547564&r2=1547565&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java Tue Dec 3 20:20:48 2013
@@ -744,7 +744,8 @@ public class OverseerTest extends SolrTe
ClusterState state = reader.getClusterState();
int numFound = 0;
- for (DocCollection collection : state.getCollectionStates().values()) {
+ for (String c : state.getCollections()) {
+ DocCollection collection = state.getCollection(c);
for (Slice slice : collection.getSlices()) {
if (slice.getReplicasMap().get("core_node1") != null) {
numFound++;
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java?rev=1547565&r1=1547564&r2=1547565&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java Tue Dec 3 20:20:48 2013
@@ -172,7 +172,7 @@ public class UnloadDistributedZkTest ext
zkStateReader.updateClusterState(true);
- int slices = zkStateReader.getClusterState().getCollectionStates().get("unloadcollection").getSlices().size();
+ int slices = zkStateReader.getClusterState().getCollection("unloadcollection").getSlices().size();
assertEquals(1, slices);
client = clients.get(1);
@@ -187,7 +187,7 @@ public class UnloadDistributedZkTest ext
server.request(createCmd);
zkStateReader.updateClusterState(true);
- slices = zkStateReader.getClusterState().getCollectionStates().get("unloadcollection").getSlices().size();
+ slices = zkStateReader.getClusterState().getCollection("unloadcollection").getSlices().size();
assertEquals(1, slices);
waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java?rev=1547565&r1=1547564&r2=1547565&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java Tue Dec 3 20:20:48 2013
@@ -136,6 +136,10 @@ public class ClusterState implements JSO
return coll.getActiveSlices();
}
+ public DocCollection getCollectionOrNull(String collection) {
+ return collectionStates.get(collection);
+
+ }
/**
* Get the named DocCollection object, or throw an exception if it doesn't exist.
*/
@@ -156,6 +160,7 @@ public class ClusterState implements JSO
/**
* @return Map<collectionName, Map<sliceName,Slice>>
+ * @deprecated
*/
public Map<String, DocCollection> getCollectionStates() {
return Collections.unmodifiableMap(collectionStates);
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=1547565&r1=1547564&r2=1547565&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 Tue Dec 3 20:20:48 2013
@@ -440,7 +440,7 @@ public abstract class AbstractFullDistri
/* Total number of replicas (number of cores serving an index to the collection) shown by the cluster state */
protected int getTotalReplicas(String collection) {
ZkStateReader zkStateReader = cloudClient.getZkStateReader();
- DocCollection coll = zkStateReader.getClusterState().getCollectionStates().get(collection);
+ DocCollection coll = zkStateReader.getClusterState().getCollectionOrNull(collection);
if (coll == null) return 0; // support for when collection hasn't been created yet
int cnt = 0;
for (Slice slices : coll.getSlices()) {
@@ -1690,10 +1690,10 @@ public abstract class AbstractFullDistri
int expectedShardsPerSlice = numShardsNumReplicaList.get(1);
int expectedTotalShards = expectedSlices * expectedShardsPerSlice;
- Map<String,DocCollection> collections = clusterState
- .getCollectionStates();
- if (collections.containsKey(collectionName)) {
- Map<String,Slice> slices = collections.get(collectionName).getSlicesMap();
+// Map<String,DocCollection> collections = clusterState
+// .getCollectionStates();
+ if (clusterState.hasCollection(collectionName)) {
+ Map<String,Slice> slices = clusterState.getCollection(collectionName).getSlicesMap();
// did we find expectedSlices slices/shards?
if (slices.size() != expectedSlices) {
return "Found new collection " + collectionName + ", but mismatch on number of slices. Expected: " + expectedSlices + ", actual: " + slices.size();
@@ -1758,7 +1758,7 @@ public abstract class AbstractFullDistri
return commondCloudSolrServer;
}
public static String getUrlFromZk(ClusterState clusterState, String collection) {
- Map<String,Slice> slices = clusterState.getCollectionStates().get(collection).getSlicesMap();
+ Map<String,Slice> slices = clusterState.getCollection(collection).getSlicesMap();
if (slices == null) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Could not find collection:" + collection);