[ 
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)

Reply via email to