manifoldcf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kwri...@apache.org
Subject svn commit: r1841596 - /manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/ModifiedHttpSolrClient.java
Date Fri, 21 Sep 2018 14:44:29 GMT
Author: kwright
Date: Fri Sep 21 14:44:29 2018
New Revision: 1841596

URL: http://svn.apache.org/viewvc?rev=1841596&view=rev
Log:
CONNECTORS-1533: Add a hack that uses the URL length to determine what kind of request to
transmit.  This is obviously not ideal.  There is an open post to the dev@lucene.apache.org
group requesting clarity about how this should be done.

Modified:
    manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/ModifiedHttpSolrClient.java

Modified: manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/ModifiedHttpSolrClient.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/ModifiedHttpSolrClient.java?rev=1841596&r1=1841595&r2=1841596&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/ModifiedHttpSolrClient.java
(original)
+++ manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/ModifiedHttpSolrClient.java
Fri Sep 21 14:44:29 2018
@@ -145,6 +145,14 @@ public class ModifiedHttpSolrClient exte
     if (SolrRequest.METHOD.POST == request.getMethod() || SolrRequest.METHOD.PUT == request.getMethod())
{
 
       String url = basePath + path;
+      
+      // Hack to allow short queries to go one way, and long queries to go another.
+      final String wQueryString = toQueryString(wparams, false);
+      final boolean mustUseMultipart = url.length() + wQueryString.length() > 4000;
+      if (mustUseMultipart) {
+        streams = requestWriter.getContentStreams(request);
+      }
+      
       boolean hasNullStreamName = false;
       if (streams != null) {
         for (ContentStream cs : streams) {
@@ -158,8 +166,8 @@ public class ModifiedHttpSolrClient exte
           || (streams != null && streams.size() > 1)) && !hasNullStreamName;
 
       LinkedList<NameValuePair> postOrPutParams = new LinkedList<>();
-      if(contentWriter != null) {
-        String fullQueryUrl = url + toQueryString(wparams, false);
+      if(contentWriter != null && !mustUseMultipart) {
+        String fullQueryUrl = url + wQueryString;
         HttpEntityEnclosingRequestBase postOrPut = SolrRequest.METHOD.POST == request.getMethod()
?
             new HttpPost(fullQueryUrl) : new HttpPut(fullQueryUrl);
         postOrPut.addHeader("Content-Type",



Mime
View raw message