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

Mark Miller commented on SOLR-12297:
------------------------------------

I've grown even more confident we should move away from Apache's HttpClient.
 * It's been slow to support HTTP2 (support is in 5 beta currently).
 * There is a separate sub project called AsyncHttpClient for async support.
 * HTTP2 is a different API than HTTP1/1.1
 * I've never been a fan of the API itself.
 * The project has fairly low activity compared to Jetty.

For Jetty HttpClient
 * There is a single client for blocking and async support. That client also 
works for HTTP2 (although there is a lower level client as well).
 * The same project releases both client and server, testing them together, 
building them together.
 * Anything Jetty supports or fixes will flow much faster to their own client.
 * There API rewrite is much nicer IMO than what Apache HttpClient has been.
 * The Jetty team is very responsive to our project.

> Create a good SolrClient for SolrCloud paving the way for async requests, 
> HTTP2, multiplexing, and the latest & greatest Jetty features.
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-12297
>                 URL: https://issues.apache.org/jira/browse/SOLR-12297
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Mark Miller
>            Priority: Major
>
> Blocking or async support as well as HTTP2 compatible with multiplexing.
> Once it supports enough and is stable, replace internal usage, allowing 
> async, and eventually move to HTTP2 connector and allow multiplexing. Could 
> support HTTP1.1 and HTTP2 on different ports depending on state of the world 
> then.
> The goal of the client itself is to work against HTTP1.1 or HTTP2 with 
> minimal or no code path differences and the same for async requests (should 
> initially work for both 1.1 and 2 and share majority of code).
> The client should also be able to replace HttpSolrClient and plug into the 
> other clients the same way.
> I doubt it would make sense to keep ConcurrentUpdateSolrClient eventually 
> though.
> I evaluated some clients and while there are a few options, I went with 
> Jetty's HttpClient. It's more mature than Apache HttpClient's support (in 5 
> beta) and we would have to update to a new API for Apache HttpClient anyway.
> Meanwhile, the Jetty guys have been very supportive of helping Solr with any 
> issues and I like having the client and server from the same project.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to