You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/07/15 21:22:49 UTC

[lucene-solr] branch reference_impl updated: #185 - Buff this test.

This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/reference_impl by this push:
     new 4c9b872  #185 - Buff this test.
4c9b872 is described below

commit 4c9b872c41b6c44343939edbd1f4d899cf886bbb
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Wed Jul 15 16:22:35 2020 -0500

    #185 - Buff this test.
---
 .../solr/client/solrj/TestLBHttpSolrClient.java    | 45 +++++++++++++---------
 1 file changed, 26 insertions(+), 19 deletions(-)

diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java b/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java
index 9c7490f..ee3d207 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java
@@ -136,7 +136,7 @@ public class TestLBHttpSolrClient extends SolrTestCaseJ4 {
       s[i] = solr[i].getUrl();
     }
     try (LBHttpSolrClient client = getLBHttpSolrClient(httpClient, s)) {
-      client.setAliveCheckInterval(500);
+      client.setAliveCheckInterval(250);
       SolrQuery solrQuery = new SolrQuery("*:*");
       Set<String> names = new HashSet<>();
       QueryResponse resp = null;
@@ -150,32 +150,40 @@ public class TestLBHttpSolrClient extends SolrTestCaseJ4 {
       // Kill a server and test again
       solr[1].jetty.stop();
       solr[1].jetty = null;
-      names.clear();
-      for (String value : s) {
-        resp = client.query(solrQuery);
-        assertEquals(10, resp.getResults().getNumFound());
-        names.add(resp.getResults().get(0).getFieldValue("name").toString());
-      }
+      getNamesSize(s, client, solrQuery, names);
       assertEquals(2, names.size());
       assertFalse(names.contains("solr1"));
 
       // Start the killed server once again
       solr[1].startJetty();
       // Wait for the alive check to complete
-      Thread.sleep(1200);
-      names.clear();
-      for (String value : s) {
-        resp = client.query(solrQuery);
-        assertEquals(10, resp.getResults().getNumFound());
-        names.add(resp.getResults().get(0).getFieldValue("name").toString());
+
+      TimeOut timeout = new TimeOut(5, TimeUnit.SECONDS, TimeSource.NANO_TIME);
+      while (!timeout.hasTimedOut()) {
+        getNamesSize(s, client, solrQuery, names);
+        if (names.size() == 3) {
+         break;
+        }
+        Thread.sleep(50);
       }
+      getNamesSize(s, client, solrQuery, names);
       assertEquals(3, names.size());
     }
   }
 
+  private void getNamesSize(String[] s, LBHttpSolrClient client, SolrQuery solrQuery, Set<String> names) throws SolrServerException, IOException {
+    QueryResponse resp;
+    names.clear();
+    for (String value : s) {
+      resp = client.query(solrQuery);
+      assertEquals(10, resp.getResults().getNumFound());
+      names.add(resp.getResults().get(0).getFieldValue("name").toString());
+    }
+  }
+
   public void testTwoServers() throws Exception {
     try (LBHttpSolrClient client = getLBHttpSolrClient(httpClient, solr[0].getUrl(), solr[1].getUrl())) {
-      client.setAliveCheckInterval(500);
+      client.setAliveCheckInterval(250);
       SolrQuery solrQuery = new SolrQuery("*:*");
       QueryResponse resp = null;
       solr[0].jetty.stop();
@@ -189,12 +197,11 @@ public class TestLBHttpSolrClient extends SolrTestCaseJ4 {
       solr[1].jetty.stop();
       solr[1].jetty = null;
       solr[0].startJetty();
-      Thread.sleep(1200);
       try {
         resp = client.query(solrQuery);
       } catch (SolrServerException e) {
         // try again after a pause in case the error is lack of time to start server
-        Thread.sleep(3000);
+        Thread.sleep(50);
         resp = client.query(solrQuery);
       }
       name = resp.getResults().get(0).getFieldValue("name").toString();
@@ -211,7 +218,7 @@ public class TestLBHttpSolrClient extends SolrTestCaseJ4 {
     CloseableHttpClient myHttpClient = HttpClientUtil.createClient(null);
     try {
       try (LBHttpSolrClient client = getLBHttpSolrClient(myHttpClient, 500, 500, s)) {
-        client.setAliveCheckInterval(500);
+        client.setAliveCheckInterval(250);
 
         // Kill a server and test again
         solr[1].jetty.stop();
@@ -224,7 +231,7 @@ public class TestLBHttpSolrClient extends SolrTestCaseJ4 {
         // Start the killed server once again
         solr[1].startJetty();
         // Wait for the alive check to complete
-        waitForServer(30, client, 3, solr[1].name);
+        waitForServer(10, client, 3, solr[1].name);
       }
     } finally {
       HttpClientUtil.close(myHttpClient);
@@ -246,7 +253,7 @@ public class TestLBHttpSolrClient extends SolrTestCaseJ4 {
       if (name.equals(serverName))
         return;
       
-      Thread.sleep(500);
+      Thread.sleep(50);
     }
   }