manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <>
Subject [jira] [Commented] (CONNECTORS-1408) Request-URI Too Long
Date Thu, 13 Apr 2017 19:09:41 GMT


Karl Wright commented on CONNECTORS-1408:

[~cguzel] Ah, OK, so it is using POST, which is good.  I think what is happening is that the
email connector is putting most of its data into metadata fields.  The actual content stream,
on the other hand, may well be small or empty.

SolrJ is deciding to encode all the metadata into the URI for the post, rather than using
multipart post for this situation.  That is causing the URI to get too long.  It's not clear
why isMultipart is winding up "false" -- do you know? The multipart post code, though, is
obviously not working right, if you get a Solr-side error when you use it.

boolean isMultipart = ((this.useMultiPartPost && SolrRequest.METHOD.POST == request.getMethod())
          || (streams != null && streams.size() > 1)) && !hasNullStreamName;

I will look at this further later tonight.

> Request-URI Too Long
> --------------------
>                 Key: CONNECTORS-1408
>                 URL:
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Email connector, Solr 6.x component
>    Affects Versions: ManifoldCF 2.6
>            Reporter: Cihad Guzel
> I run email connector job and follow "Simple History" from UI. I see an error as follow:
> {code}
> Error from server at http://localhost:8983/solr/mycore: non ok status: 414, message:Request-URI
Too Long
> {code}
> It is sent by Solr. 
> Solr logs say: 
> {code}
> HttpParser - URI is too large >8192
> {code}
> and 
> {code}
> HttpParser - bad HTTP parsed: 414 for HttpChannelOverHttp@2b6931dd{r=0,&#8203;c=false,&#8203;a=IDLE,&#8203;uri=null}

> {code}
> ManifoldCF has following code:
> {code}
>  // It is has one stream, it is the post body, put the params in the URL
>       else {
>         String pstr = toQueryString(wparams, false);
>         HttpEntityEnclosingRequestBase postOrPut = SolrRequest.METHOD.POST == request.getMethod()
>             new HttpPost(url + pstr) : new HttpPut(url + pstr);
> {code}
> There is "pstr" field appended to the URL. "pstr" field have all Solr params. It contains
email content. We have "URI is too large" error when email has large content.

This message was sent by Atlassian JIRA

View raw message