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/09/02 18:12:07 UTC

[lucene-solr] 10/11: @711 Some cleanup.

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

commit 4698153790f50d74b341c94d4bf67ae61fee39aa
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Wed Sep 2 12:26:35 2020 -0500

    @711 Some cleanup.
---
 .../org/apache/solr/update/SolrCmdDistributor.java |  3 +-
 .../client/solrj/impl/CloudHttp2SolrClient.java    | 35 +++++++++++++++-------
 .../solr/client/solrj/impl/Http2SolrClient.java    | 19 ++++++++----
 .../solrj/impl/CloudHttp2SolrClientTest.java       |  2 +-
 .../client/solrj/impl/CloudSolrClientTest.java     |  1 -
 5 files changed, 40 insertions(+), 20 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
index 94aefe2..cd23463 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
@@ -26,6 +26,7 @@ import org.apache.solr.common.SolrException;
 import org.apache.solr.common.cloud.ZkCoreNodeProps;
 import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.util.IOUtils;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.ObjectReleaseTracker;
 import org.apache.solr.core.Diagnostics;
@@ -81,7 +82,7 @@ public class SolrCmdDistributor implements Closeable {
   }
   
   public void close() {
-    ParWork.close(solrClient);
+    IOUtils.closeQuietly(solrClient);
     assert ObjectReleaseTracker.release(this);
   }
 
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
index 573d30d..ed3e7f3 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
@@ -122,17 +122,7 @@ public class CloudHttp2SolrClient  extends BaseCloudSolrClient {
       try {
         MDC.put("CloudSolrClient.url", url);
         try {
-          myClient.request(lbRequest.request, null, new Http2SolrClient.OnComplete() {
-
-            @Override
-            public void onSuccess(NamedList result) {
-              tsResponses.put(url, result);
-            }
-
-            @Override
-            public void onFailure(Throwable t) {
-              tsExceptions.put(url, t);
-            }});
+          myClient.request(lbRequest.request, null, new UpdateOnComplete(tsResponses, url, tsExceptions));
         } catch (IOException e) {
           tsExceptions.put(url, e);
         } catch (SolrServerException e) {
@@ -300,4 +290,27 @@ public class CloudHttp2SolrClient  extends BaseCloudSolrClient {
     }
 
   }
+
+  private static class UpdateOnComplete implements Http2SolrClient.OnComplete {
+
+    private final Map<String,NamedList> tsResponses;
+    private final String url;
+    private final Map<String,Throwable> tsExceptions;
+
+    public UpdateOnComplete(Map<String,NamedList> tsResponses, String url, Map<String,Throwable> tsExceptions) {
+      this.tsResponses = tsResponses;
+      this.url = url;
+      this.tsExceptions = tsExceptions;
+    }
+
+    @Override
+    public void onSuccess(NamedList result) {
+      tsResponses.put(url, result);
+    }
+
+    @Override
+    public void onFailure(Throwable t) {
+      tsExceptions.put(url, t);
+    }
+  }
 }
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
index b9da75a..1c6a002 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
@@ -874,12 +874,7 @@ public class Http2SolrClient extends SolrClient {
     private final Semaphore available;
 
     // wait for async requests
-    private final Phaser phaser = new Phaser(1) {
-      @Override
-      protected boolean onAdvance(int phase, int parties) {
-        return false;
-      }
-    };
+    private final Phaser phaser = new ThePhaser(1);
     // maximum outstanding requests left
     private final Request.QueuedListener queuedListener;
     private final Response.CompleteListener completeListener;
@@ -938,6 +933,18 @@ public class Http2SolrClient extends SolrClient {
 //        ParWork.propegateInterrupt(ignored);
 //      }
     }
+
+    private static class ThePhaser extends Phaser {
+
+      ThePhaser(int start) {
+        super(start);
+      }
+
+      @Override
+      protected boolean onAdvance(int phase, int parties) {
+        return false;
+      }
+    }
   }
 
   public static class Builder {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
index 4e66827..e602938 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
@@ -819,7 +819,7 @@ public class CloudHttp2SolrClientTest extends SolrCloudTestCase {
     NamedList<Object> response = updateRequest.commit(getRandomClient(), "versions_collection").getResponse();
     Object addsObject = response.get("adds");
     
-    assertNotNull("There must be a adds parameter", addsObject);
+    assertNotNull("There must be a adds parameter: " + response.toString(), addsObject);
     assertTrue(addsObject instanceof NamedList<?>);
     NamedList<?> adds = (NamedList<?>) addsObject;
     assertEquals("There must be 2 versions (one per doc)", 2, adds.size());
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
index 1f57d5c..4d783d2 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
@@ -789,7 +789,6 @@ public class CloudSolrClientTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit ~ possible regression? response doesn't contain "adds"?
   public void testVersionsAreReturned() throws Exception {
     createTestCollection("versions_collection", 2, 1);