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 2014/11/22 02:13:47 UTC

svn commit: r1641020 - /lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java

Author: noble
Date: Sat Nov 22 01:13:46 2014
New Revision: 1641020

URL: http://svn.apache.org/r1641020
Log:
SOLR-6533 fixing test failures http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Windows/4445

Modified:
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java?rev=1641020&r1=1641019&r2=1641020&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java Sat Nov 22 01:13:46 2014
@@ -28,10 +28,16 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.http.HttpEntity;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.util.EntityUtils;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.impl.HttpSolrServer;
 import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
+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.ZkStateReader;
 import org.apache.solr.core.ConfigOverlay;
 import org.apache.solr.util.RESTfulServerProvider;
@@ -142,15 +148,23 @@ public class TestSolrConfigHandlerConcur
         return;
       }
 
+      DocCollection coll = cloudClient.getZkStateReader().getClusterState().getCollection("collection1");
+      List<String> urls = new ArrayList<>();
+      for (Slice slice : coll.getSlices()) {
+        for (Replica replica : slice.getReplicas())
+          urls.add(""+replica.get(ZkStateReader.BASE_URL_PROP) + "/"+replica.get(ZkStateReader.CORE_NAME_PROP));
+      }
+
+
       //get another node
-      RestTestHarness harness = restTestHarnesses.get(r.nextInt(restTestHarnesses.size()));
+      String url = urls.get(urls.size());
+
       long startTime = System.nanoTime();
-      boolean success = false;
       long maxTimeoutSeconds = 20;
       while ( TimeUnit.SECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS) < maxTimeoutSeconds) {
         Thread.sleep(100);
         errmessages.clear();
-        Map respMap = getAsMap("/config/overlay?wt=json", harness);
+        Map respMap = getAsMap(url+"/config/overlay?wt=json");
         Map m = (Map) respMap.get("overlay");
         if(m!= null) m = (Map) m.get("props");
         if(m == null) {
@@ -177,5 +191,15 @@ public class TestSolrConfigHandlerConcur
 
   }
 
-
+  private  Map getAsMap(String uri) throws Exception {
+    HttpGet get = new HttpGet(uri) ;
+    HttpEntity entity = null;
+    try {
+      entity = cloudClient.getLbServer().getHttpClient().execute(get).getEntity();
+      String response = EntityUtils.toString(entity, StandardCharsets.UTF_8);
+      return (Map) ObjectBuilder.getVal(new JSONParser(new StringReader(response)));
+    } finally {
+      EntityUtils.consumeQuietly(entity);
+    }
+  }
 }