[
https://issues.apache.org/jira/browse/CONNECTORS-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15968093#comment-15968093
]
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.
{code}
boolean isMultipart = ((this.useMultiPartPost && SolrRequest.METHOD.POST ==
request.getMethod())
|| (streams != null && streams.size() > 1)) && !hasNullStreamName;
{code}
I will look at this further later tonight.
> Request-URI Too Long
> --------------------
>
> Key: CONNECTORS-1408
> URL: https://issues.apache.org/jira/browse/CONNECTORS-1408
> 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,​c=false,​a=IDLE,​uri=null}
>
> {code}
> ManifoldCF ModifiedHttpSolrClient.java 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
(v6.3.15#6346)