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;