You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2015/12/01 21:52:57 UTC
svn commit: r1717526 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/test/org/apache/solr/cloud/OverseerTest.java
test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
Author: cpoerschke
Date: Tue Dec 1 20:52:57 2015
New Revision: 1717526
URL: http://svn.apache.org/viewvc?rev=1717526&view=rev
Log:
${message}
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1717526&r1=1717525&r2=1717526&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Tue Dec 1 20:52:57 2015
@@ -209,6 +209,9 @@ Other Changes
* SOLR-8321: add a (SolrQueryRequest free) SortSpecParsing.parseSortSpec variant
(Christine Poerschke)
+* SOLR-8338: in OverseerTest replace strings such as "collection1" and "state" with variable
+ or enum equivalent. (Christine Poerschke)
+
================== 5.4.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release
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=1717526&r1=1717525&r2=1717526&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 1 20:52:57 2015
@@ -22,6 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -78,7 +79,7 @@ public class OverseerTest extends SolrTe
private List<HttpShardHandlerFactory> httpShardHandlerFactorys = new ArrayList<>();
private List<UpdateShardHandler> updateShardHandlers = new ArrayList<>();
- private String collection = "collection1";
+ final private String collection = SolrTestCaseJ4.DEFAULT_TEST_COLLECTION_NAME;
public static class MockZKController{
@@ -255,15 +256,15 @@ public class OverseerTest extends SolrTe
for (int i = 0; i < numShards; i++) {
assertNotNull("shard got no id?", zkController.publishState(collection, "core" + (i+1), "node" + (i+1), Replica.State.ACTIVE, 3));
}
- Map<String,Replica> rmap = reader.getClusterState().getSlice("collection1", "shard1").getReplicasMap();
+ final Map<String,Replica> rmap = reader.getClusterState().getSlice(collection, "shard1").getReplicasMap();
assertEquals(rmap.toString(), 2, rmap.size());
- assertEquals(rmap.toString(), 2, reader.getClusterState().getSlice("collection1", "shard2").getReplicasMap().size());
- assertEquals(rmap.toString(), 2, reader.getClusterState().getSlice("collection1", "shard3").getReplicasMap().size());
+ assertEquals(rmap.toString(), 2, reader.getClusterState().getSlice(collection, "shard2").getReplicasMap().size());
+ assertEquals(rmap.toString(), 2, reader.getClusterState().getSlice(collection, "shard3").getReplicasMap().size());
//make sure leaders are in cloud state
- assertNotNull(reader.getLeaderUrl("collection1", "shard1", 15000));
- assertNotNull(reader.getLeaderUrl("collection1", "shard2", 15000));
- assertNotNull(reader.getLeaderUrl("collection1", "shard3", 15000));
+ assertNotNull(reader.getLeaderUrl(collection, "shard1", 15000));
+ assertNotNull(reader.getLeaderUrl(collection, "shard2", 15000));
+ assertNotNull(reader.getLeaderUrl(collection, "shard3", 15000));
} finally {
if (DEBUG) {
@@ -426,7 +427,7 @@ public class OverseerTest extends SolrTe
cloudStateSliceCount = 0;
reader.updateClusterState();
ClusterState state = reader.getClusterState();
- Map<String,Slice> slices = state.getSlicesMap("collection1");
+ final Map<String,Slice> slices = state.getSlicesMap(collection);
if (slices != null) {
for (String name : slices.keySet()) {
cloudStateSliceCount += slices.get(name).getReplicasMap().size();
@@ -480,7 +481,7 @@ public class OverseerTest extends SolrTe
//make sure leaders are in cloud state
for (int i = 0; i < sliceCount; i++) {
- assertNotNull(reader.getLeaderUrl("collection1", "shard" + (i + 1), 15000));
+ assertNotNull(reader.getLeaderUrl(collection, "shard" + (i + 1), 15000));
}
} finally {
@@ -552,23 +553,23 @@ public class OverseerTest extends SolrTe
ZkNodeProps m = new ZkNodeProps(Overseer.QUEUE_OPERATION, OverseerAction.STATE.toLower(),
ZkStateReader.BASE_URL_PROP, "http://127.0.0.1/solr",
ZkStateReader.NODE_NAME_PROP, "node1",
- ZkStateReader.COLLECTION_PROP, "collection1",
+ ZkStateReader.COLLECTION_PROP, collection,
ZkStateReader.CORE_NAME_PROP, "core1",
ZkStateReader.ROLES_PROP, "",
ZkStateReader.STATE_PROP, Replica.State.RECOVERING.toString());
q.offer(Utils.toJSON(m));
- waitForCollections(reader, "collection1");
+ waitForCollections(reader, collection);
assertSame(reader.getClusterState().toString(), Replica.State.RECOVERING,
- reader.getClusterState().getSlice("collection1", "shard1").getReplica("core_node1").getState());
+ reader.getClusterState().getSlice(collection, "shard1").getReplica("core_node1").getState());
//publish node state (active)
- m = new ZkNodeProps(Overseer.QUEUE_OPERATION, "state",
+ m = new ZkNodeProps(Overseer.QUEUE_OPERATION, OverseerAction.STATE.toLower(),
ZkStateReader.BASE_URL_PROP, "http://127.0.0.1/solr",
ZkStateReader.NODE_NAME_PROP, "node1",
- ZkStateReader.COLLECTION_PROP, "collection1",
+ ZkStateReader.COLLECTION_PROP, collection,
ZkStateReader.CORE_NAME_PROP, "core1",
ZkStateReader.ROLES_PROP, "",
ZkStateReader.STATE_PROP, Replica.State.ACTIVE.toString());
@@ -615,6 +616,12 @@ public class OverseerTest extends SolrTe
SolrZkClient zkClient = null;
try {
+
+ final String core = "core1";
+ final String core_node = "core_node1";
+ final String shard = "shard1";
+ final int numShards = 1;
+
server.run();
AbstractZkTestCase.tryCleanSolrZkNode(server.getZkHost());
@@ -632,14 +639,16 @@ public class OverseerTest extends SolrTe
overseerClient = electNewOverseer(server.getZkAddress());
Thread.sleep(1000);
- mockController.publishState(collection, "core1", "core_node1", Replica.State.RECOVERING, 1);
+ mockController.publishState(collection, core, core_node,
+ Replica.State.RECOVERING, numShards);
waitForCollections(reader, collection);
verifyReplicaStatus(reader, collection, "shard1", "core_node1", Replica.State.RECOVERING);
int version = getClusterStateVersion(zkClient);
- mockController.publishState(collection, "core1", "core_node1", Replica.State.ACTIVE, 1);
+ mockController.publishState(collection, core, core_node, Replica.State.ACTIVE,
+ numShards);
while (version == getClusterStateVersion(zkClient));
@@ -648,7 +657,8 @@ public class OverseerTest extends SolrTe
overseerClient.close();
Thread.sleep(1000); // wait for overseer to get killed
- mockController.publishState(collection, "core1", "core_node1", Replica.State.RECOVERING, 1);
+ mockController.publishState(collection, core, core_node,
+ Replica.State.RECOVERING, numShards);
version = getClusterStateVersion(zkClient);
overseerClient = electNewOverseer(server.getZkAddress());
@@ -659,13 +669,13 @@ public class OverseerTest extends SolrTe
assertEquals("Live nodes count does not match", 1, reader
.getClusterState().getLiveNodes().size());
- assertEquals("Shard count does not match", 1, reader.getClusterState()
- .getSlice(collection, "shard1").getReplicasMap().size());
+ assertEquals(shard+" replica count does not match", 1, reader.getClusterState()
+ .getSlice(collection, shard).getReplicasMap().size());
version = getClusterStateVersion(zkClient);
- mockController.publishState(collection, "core1", "core_node1", null, 1);
+ mockController.publishState(collection, core, core_node, null, numShards);
while (version == getClusterStateVersion(zkClient));
Thread.sleep(500);
- assertFalse("collection1 should be gone after publishing the null state",
+ assertFalse(collection+" should be gone after publishing the null state",
reader.getClusterState().hasCollection(collection));
} finally {
close(mockController);
@@ -819,11 +829,11 @@ public class OverseerTest extends SolrTe
mockController.publishState(collection, "core1", "node1",Replica.State.RECOVERING,1);
mockController2 = new MockZKController(server.getZkAddress(), "node2");
mockController.publishState(collection, "core1", "node1", Replica.State.ACTIVE,1);
- verifyShardLeader(reader, "collection1", "shard1", "core1");
+ verifyShardLeader(reader, collection, "shard1", "core1");
mockController2.publishState(collection, "core4", "node2", Replica.State.ACTIVE ,1);
mockController.close();
mockController = null;
- verifyShardLeader(reader, "collection1", "shard1", "core4");
+ verifyShardLeader(reader, collection, "shard1", "core4");
}
} finally {
if (killer != null) {
@@ -932,9 +942,9 @@ public class OverseerTest extends SolrTe
mockController.publishState(collection, "core1", "node1", Replica.State.RECOVERING, 12);
- waitForCollections(reader, "collection1");
+ waitForCollections(reader, collection);
- assertEquals("Slicecount does not match", 12, reader.getClusterState().getSlices("collection1").size());
+ assertEquals("Slicecount does not match", 12, reader.getClusterState().getSlices(collection).size());
} finally {
close(overseerClient);
@@ -1101,11 +1111,11 @@ public class OverseerTest extends SolrTe
reader.createClusterStateWatchersAndUpdate();
//prepopulate work queue with some items to emulate previous overseer died before persisting state
DistributedQueue queue = Overseer.getInternalQueue(zkClient, new Overseer.Stats());
- ZkNodeProps m = new ZkNodeProps(Overseer.QUEUE_OPERATION, "state",
+ ZkNodeProps m = new ZkNodeProps(Overseer.QUEUE_OPERATION, OverseerAction.STATE.toLower(),
ZkStateReader.BASE_URL_PROP, "http://127.0.0.1/solr",
ZkStateReader.NODE_NAME_PROP, "node1",
ZkStateReader.SHARD_ID_PROP, "s1",
- ZkStateReader.COLLECTION_PROP, "collection1",
+ ZkStateReader.COLLECTION_PROP, collection,
ZkStateReader.CORE_NAME_PROP, "core1",
ZkStateReader.ROLES_PROP, "",
ZkStateReader.STATE_PROP, Replica.State.RECOVERING.toString());
@@ -1114,7 +1124,7 @@ public class OverseerTest extends SolrTe
ZkStateReader.BASE_URL_PROP, "http://127.0.0.1/solr",
ZkStateReader.NODE_NAME_PROP, "node1",
ZkStateReader.SHARD_ID_PROP, "s1",
- ZkStateReader.COLLECTION_PROP, "collection1",
+ ZkStateReader.COLLECTION_PROP, collection,
ZkStateReader.CORE_NAME_PROP, "core2",
ZkStateReader.ROLES_PROP, "",
ZkStateReader.STATE_PROP, Replica.State.RECOVERING.toString());
@@ -1128,19 +1138,19 @@ public class OverseerTest extends SolrTe
ZkStateReader.BASE_URL_PROP, "http://127.0.0.1/solr",
ZkStateReader.NODE_NAME_PROP, "node1",
ZkStateReader.SHARD_ID_PROP, "s1",
- ZkStateReader.COLLECTION_PROP, "collection1",
+ ZkStateReader.COLLECTION_PROP, collection,
ZkStateReader.CORE_NAME_PROP, "core3",
ZkStateReader.ROLES_PROP, "",
ZkStateReader.STATE_PROP, Replica.State.RECOVERING.toString());
queue.offer(Utils.toJSON(m));
for(int i=0;i<100;i++) {
- Slice s = reader.getClusterState().getSlice("collection1", "s1");
+ Slice s = reader.getClusterState().getSlice(collection, "s1");
if(s!=null && s.getReplicasMap().size()==3) break;
Thread.sleep(100);
}
- assertNotNull(reader.getClusterState().getSlice("collection1", "s1"));
- assertEquals(3, reader.getClusterState().getSlice("collection1", "s1").getReplicasMap().size());
+ assertNotNull(reader.getClusterState().getSlice(collection, "s1"));
+ assertEquals(3, reader.getClusterState().getSlice(collection, "s1").getReplicasMap().size());
} finally {
close(overseerClient);
close(zkClient);
Modified: lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1717526&r1=1717525&r2=1717526&view=diff
==============================================================================
--- lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Tue Dec 1 20:52:57 2015
@@ -121,7 +121,8 @@ import static com.google.common.base.Pre
@SuppressFileSystems("ExtrasFS") // might be ok, the failures with e.g. nightly runs might be "normal"
public abstract class SolrTestCaseJ4 extends LuceneTestCase {
- public static final String DEFAULT_TEST_CORENAME = "collection1";
+ public static final String DEFAULT_TEST_COLLECTION_NAME = "collection1";
+ public static final String DEFAULT_TEST_CORENAME = DEFAULT_TEST_COLLECTION_NAME;
protected static final String CORE_PROPERTIES_FILENAME = "core.properties";
private static String coreName = DEFAULT_TEST_CORENAME;