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

Gregory Chanan commented on SOLR-6625:
--------------------------------------

Thanks for pointing that out [~steff1193]!

One thing I wanted to avoid with this patch is putting authentication-type 
specific details in HttpSolrServer.  SOLR-4470 has a little logic there that is 
basic-auth specific; if we support a range of authentication types this could 
get complex.  Perhaps the best thing is to combine approaches here?

i.e. it seems from my reading of SOLR-4470 that if you were to implement the 
basic-auth specific code via a callback you'd need:
1) to be passed the SolrRequest (so you could check getPreemptiveAuthentication)
2) the ability to return an HttpContext for the HttpSolrServer to use

1) certainly doesn't seem like a problem, and 2) we could do via the return 
value of preRequest or via another method in the callback, e.g 
applyContextForRequestPre.

As for the suggestion of using a BufferedHttpEntity rather than the OPTIONS 
approach I describe above, that certainly may be an improvement.  I'd have to 
look more into it, but in either case, it seems it can be implemented via the 
callback.

Thoughts?

> HttpClient callback in HttpSolrServer
> -------------------------------------
>
>                 Key: SOLR-6625
>                 URL: https://issues.apache.org/jira/browse/SOLR-6625
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrJ
>            Reporter: Gregory Chanan
>            Assignee: Gregory Chanan
>            Priority: Minor
>         Attachments: SOLR-6625.patch
>
>
> Some of our setups use Solr in a SPNego/kerberos setup (we've done this by 
> adding our own filters to the web.xml).  We have an issue in that SPNego 
> requires a negotiation step, but some HttpSolrServer requests are not 
> repeatable, notably the PUT/POST requests.  So, what happens is, 
> HttpSolrServer sends the requests, the server responds with a negotiation 
> request, and the request fails because the request is not repeatable.  We've 
> modified our code to send a repeatable request beforehand in these cases.
> It would be nicer if HttpSolrServer provided a pre/post callback when it was 
> making an httpclient request.  This would allow administrators to make 
> changes to the request for authentication purposes, and would allow users to 
> make per-request changes to the httpclient calls (i.e. modify httpclient 
> requestconfig to modify the timeout on a per-request basis).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to