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 2018/12/01 06:34:57 UTC
[4/4] lucene-solr:branch_7x: SOLR-13027: Change retries to work
across JVM impls properly by looking for an IOException.
SOLR-13027: Change retries to work across JVM impls properly by looking for an IOException.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/2968669c
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/2968669c
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/2968669c
Branch: refs/heads/branch_7x
Commit: 2968669c5362e12d4c946fd6b624ad9c60731720
Parents: 0e6b29c
Author: markrmiller <ma...@apache.org>
Authored: Sat Dec 1 00:26:15 2018 -0600
Committer: markrmiller <ma...@apache.org>
Committed: Sat Dec 1 00:34:46 2018 -0600
----------------------------------------------------------------------
.../solrj/impl/SolrClientNodeStateProvider.java | 26 +++++++++++---------
1 file changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2968669c/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
index e057c3e..531c631 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
@@ -19,7 +19,6 @@ package org.apache.solr.client.solrj.impl;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import java.net.SocketException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -32,7 +31,6 @@ import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
-import org.apache.http.NoHttpResponseException;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.cloud.NodeStateProvider;
@@ -201,17 +199,17 @@ public class SolrClientNodeStateProvider implements NodeStateProvider, MapWriter
while (cnt++ < 3) {
try {
rsp = ctx.invoke(solrNode, CommonParams.METRICS_PATH, params);
- } catch (SolrException | SolrServerException | NoHttpResponseException e) {
- boolean hasCauseNoHttpResponseException = false;
+ } catch (SolrException | SolrServerException | IOException e) {
+ boolean hasCauseIOException = false;
Throwable cause = e;
while (cause != null) {
- if (cause instanceof NoHttpResponseException) {
- hasCauseNoHttpResponseException = true;
+ if (cause instanceof IOException) {
+ hasCauseIOException = true;
break;
}
cause = cause.getCause();
}
- if (hasCauseNoHttpResponseException || e instanceof NoHttpResponseException) {
+ if (hasCauseIOException || e instanceof IOException) {
log.info("Error on getting remote info, trying again: " + e.getMessage());
Thread.sleep(500);
continue;
@@ -307,17 +305,21 @@ public class SolrClientNodeStateProvider implements NodeStateProvider, MapWriter
while (cnt++ < retries) {
try {
rsp = snitchContext.invoke(solrNode, CommonParams.METRICS_PATH, params);
- } catch (SolrException | SolrServerException | SocketException e) {
- boolean hasCauseSocketException = false;
+ } catch (SolrException | SolrServerException | IOException e) {
+ if (e instanceof SolrServerException) {
+
+ }
+
+ boolean hasCauseIOException = false;
Throwable cause = e;
while (cause != null) {
- if (cause instanceof SocketException) {
- hasCauseSocketException = true;
+ if (cause instanceof IOException) {
+ hasCauseIOException = true;
break;
}
cause = cause.getCause();
}
- if (hasCauseSocketException || e instanceof SocketException) {
+ if (hasCauseIOException || e instanceof IOException) {
log.info("Error on getting remote info, trying again: " + e.getMessage());
Thread.sleep(500);
continue;