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 2016/02/10 16:41:55 UTC

[4/4] lucene-solr git commit: SOLR-8450: Do not retry admin requests, they are not idempotent.

SOLR-8450: Do not retry admin requests, they are not idempotent.

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1724813 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/df004731
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/df004731
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/df004731

Branch: refs/heads/branch_5x
Commit: df004731dd3f2b1cd54af96f1aa1ead27fcf70b2
Parents: 9da8846
Author: Mark Robert Miller <ma...@apache.org>
Authored: Fri Jan 15 14:13:36 2016 +0000
Committer: markrmiller <ma...@apache.org>
Committed: Wed Feb 10 10:37:31 2016 -0500

----------------------------------------------------------------------
 .../solr/client/solrj/impl/SolrHttpRequestRetryHandler.java  | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/df004731/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
index f2ed8ac..1e43c04 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
@@ -133,7 +133,7 @@ public class SolrHttpRequestRetryHandler implements HttpRequestRetryHandler {
       return true;
     }
 
-    log.debug("Do not retry, no rules matched");
+    log.debug("Do not retry, no allow rules matched");
     return false;
   }
   
@@ -143,7 +143,11 @@ public class SolrHttpRequestRetryHandler implements HttpRequestRetryHandler {
   
   protected boolean handleAsIdempotent(final HttpClientContext context) {
     String method = context.getRequest().getRequestLine().getMethod();
-    context.getRequest().getRequestLine().getUri();
+    // do not retry admin requests, even if they are GET as they are not idempotent
+    if (context.getRequest().getRequestLine().getUri().startsWith("/admin/")) {
+      log.debug("Do not retry, this is an admin request");
+      return false;
+    }
     return method.equals(GET);
   }