[ 
https://issues.apache.org/jira/browse/CONNECTORS-1694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17482923#comment-17482923
 ] 

Markus Schuch commented on CONNECTORS-1694:
-------------------------------------------

I can reproduce this:

I set up Solr 8.11.1 with basic auth like described in 
[https://solr.apache.org/guide/8_11/basic-authentication-plugin.html]

Then configured a single server solr output connection with basic auth 
credentials and extracting request handler. The connection is reported to work 
by the connection check. But when ingesting documents, the output connector 
fails with
{code:java}
 WARN 2022-01-27T08:17:34,675 (Worker thread '29') - Service interruption 
reported for job 1643267680083 connection 'files': IO exception during indexing 
file:/D:/tmp/AndEngine%20for%20Android%20Game%20Development%20Cookbook%20%5BeBook%5D.pdf:
 null
 WARN 2022-01-27T08:17:35,431 (Worker thread '27') - IO exception during 
indexing 
file:/D:/tmp/(eBook)%20-%20Programming%20-%20Handbook%20of%20applied%20Cryptography.pdf:
 null
org.apache.http.client.ClientProtocolException: null
    at 
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
 ~[httpclient-4.5.8.jar:4.5.8]
    at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
 ~[httpclient-4.5.8.jar:4.5.8]
    at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
 ~[httpclient-4.5.8.jar:4.5.8]
    at 
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:564)
 ~[?:?]
    at 
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:265)
 ~[?:?]
    at 
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
 ~[?:?]
    at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211) 
~[?:?]
    at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:228) 
~[?:?]
    at 
org.apache.manifoldcf.agents.output.solr.HttpPoster$IngestThread.run(HttpPoster.java:1010)
 ~[?:?]
Caused by: org.apache.http.client.NonRepeatableRequestException: Cannot retry 
request with a non-repeatable request entity.
    at 
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:225) 
~[httpclient-4.5.8.jar:4.5.8]
    at 
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) 
~[httpclient-4.5.8.jar:4.5.8]
    at 
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) 
~[httpclient-4.5.8.jar:4.5.8]
    at 
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
 ~[httpclient-4.5.8.jar:4.5.8]
    ... 8 more {code}
On solr side an ERROR is logged:
{code:java}
ERROR SolrRequestParsers Couldn't get multipart parts in order to delete 
them{code}

> Basic auth for Solr output connector not working for POST/DELETE requests
> -------------------------------------------------------------------------
>
>                 Key: CONNECTORS-1694
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1694
>             Project: ManifoldCF
>          Issue Type: Bug
>            Reporter: Markus Schuch
>            Priority: Major
>         Attachments: 113.patch
>
>
> From https://github.com/apache/manifoldcf/pull/113
> {quote}The underlying Apache HTTP client uses universal basic auth for the 
> first request, then caches the resp. auth-related data and switches to 
> pre-emptive basic auth for subsequent requests that target the same host. 
> This seems to cause problems requests that alter state at Solr (POST/DELETE). 
> This situation can be easily remedied by enforcing pre-emptive basic auth for 
> the first request.
> {quote}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to