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

Karl Wright commented on CONNECTORS-661:
----------------------------------------

Hi Erlend,

To me it appears that curl logging does something screwy in transmitting the 
data in this transaction.  In theory it should wait for the 100 Continue before 
it continues, but it starts to transmit the body anyway.  So this line is 
confused:

> <xml/>HTTP/1.1 100 Continue

The "HTTP/1.1 100 Continue" is clearly coming from the server but is not 
properly separated and does not have the proper "<" preceding it.

The wire logging you initially sent me is more helpful in this regard:

{code}
DEBUG 2013-03-11 14:54:46,936 (Thread-812) - >> POST /solr/uio/update/extract 
HTTP/1.1
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> Content-Charset: UTF-8
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> User-Agent: 
Solr[org.apache.solr.client.solrj.impl.HttpSolrServer] 1.0
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> Transfer-Encoding: chunked
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> Content-Type: 
multipart/form-data; boundary=HKJXjK-T02nPdAGqPhEIPWFLYuqM7495HYpg6
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> Host: solr-prod01.uio.no:443
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> Connection: Keep-Alive
DEBUG 2013-03-11 14:54:46,937 (Thread-812) - >> Expect: 100-continue
DEBUG 2013-03-11 14:54:46,940 (Thread-812) - << "HTTP/1.1 100 Continue[\r][\n]"
DEBUG 2013-03-11 14:54:46,940 (Thread-812) - << "[\r][\n]"
DEBUG 2013-03-11 14:54:46,940 (Thread-812) - Receiving response: HTTP/1.1 100 
Continue
DEBUG 2013-03-11 14:54:46,940 (Thread-812) - << HTTP/1.1 100 Continue
DEBUG 2013-03-11 14:54:46,942 (Thread-812) - >> "c1[\r][\n]"
DEBUG 2013-03-11 14:54:46,942 (Thread-812) - >> 
"--HKJXjK-T02nPdAGqPhEIPWFLYuqM7495HYpg6[\r][\n]"
DEBUG 2013-03-11 14:54:46,942 (Thread-812) - >> "Content-Disposition: 
form-data; name="literal.id"[\r][\n]"
DEBUG 2013-03-11 14:54:46,942 (Thread-812) - >> "Content-Type: text/plain; 
charset=UTF-8[\r][\n]"
DEBUG 2013-03-11 14:54:46,942 (Thread-812) - >> "Content-Transfer-Encoding: 
8bit[\r][\n]"
DEBUG 2013-03-11 14:54:46,942 (Thread-812) - >> "[\r][\n]"
...
DEBUG 2013-03-11 14:54:46,962 (Thread-812) - >> "[\r][\n]"
DEBUG 2013-03-11 14:54:46,962 (Thread-812) - >> "0[\r][\n]"
DEBUG 2013-03-11 14:54:46,962 (Thread-812) - >> "[\r][\n]"
DEBUG 2013-03-11 14:54:46,963 (Thread-812) - << "HTTP/1.1 401 
Unauthorized[\r][\n]"
DEBUG 2013-03-11 14:54:46,963 (Thread-812) - << "Date: Mon, 11 Mar 2013 
13:54:46 GMT[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "Server: Apache/2.2.22 
(Unix)[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "WWW-Authenticate: Basic 
realm="resin"[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "Content-Length: 159[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "Content-Type: text/html; 
charset=utf-8[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "X-UA-Compatible: 
IE=EmulateIE7[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "Connection: close[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << "[\r][\n]"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - Receiving response: HTTP/1.1 401 
Unauthorized
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << HTTP/1.1 401 Unauthorized
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << Date: Mon, 11 Mar 2013 13:54:46 
GMT
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << Server: Apache/2.2.22 (Unix)
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << WWW-Authenticate: Basic 
realm="resin"
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << Content-Length: 159
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << Content-Type: text/html; 
charset=utf-8
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << X-UA-Compatible: IE=EmulateIE7
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - << Connection: close
DEBUG 2013-03-11 14:54:46,964 (Thread-812) - Authentication required
{code}

Here you can clearly see that the first request proceeds up to the headers, 
then there's a newline, then a "100 Continue" comes back from the server, then 
the rest of the data goes over, then finally the "401" comes back.

Furthermore, note the Agent header: this is Apache Web Server, not Resin, that 
is doing this, esp. if the basic auth is configured in Apache.  If so it sounds 
like exactly the problem that was described in 2007.

                
> Solr Connector cannot index documents when Solr is protected by authentication
> ------------------------------------------------------------------------------
>
>                 Key: CONNECTORS-661
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-661
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Lucene/SOLR connector
>    Affects Versions: ManifoldCF 1.1.1
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>            Priority: Critical
>             Fix For: ManifoldCF 1.2
>
>
> The Solr connector cannot deal with Solr servers that are protected by 
> authentication.  The reason is that HttpClient forces a retry based on the 
> WWW-authenticate header that is returned, but the HttpEntity is not 
> resettable and thus the retry fails for that reason.
> This is a regression, because the Solr connector used to properly support 
> basic auth, and now no longer does.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to