[
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