[
https://issues.apache.org/jira/browse/KNOX-1066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16179054#comment-16179054
]
Rick Kellogg commented on KNOX-1066:
------------------------------------
Attached please find a replacement for the HttpSolrClient.Builder class.
Usage would be as follows:
{noformat}
SolrClient client = new PreemptiveHttpSolrClient.Builder()
.withBaseSolrURL("https://host:8443/gateway/solr/core1")
.withPreemptiveBasicAuthCredentials("user","pwd")
.build();
{noformat}
> Update Operations via SOLR to Knox Fail
> ----------------------------------------
>
> Key: KNOX-1066
> URL: https://issues.apache.org/jira/browse/KNOX-1066
> Project: Apache Knox
> Issue Type: Bug
> Components: Server
> Affects Versions: 0.12.0, 0.13.0
> Reporter: Rick Kellogg
> Attachments: PreemptiveHttpSolrClient.java
>
>
> When using the Java SOLRJ HttpSolrClient, any operation that relies upon a
> POST HTTP operation fails authentication when proxied via Knox. This is
> because the SOLRJ API only supports traditional challenge/response basic
> authentication. For any update style operation the SOLRJ client refuses to
> retry the operation as it might lead to duplicate data, etc. If this were a
> GET operation, it would retry the operation and include the appropriate
> authentication header.
> Therefore preemptive authentication must be used for updates to succeed.
> Unfortunately, the Apache HttpClient construction is hidden from the client
> in the form of the HttpSolrClient.Builder class.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)