[
https://issues.apache.org/jira/browse/SOLR-12297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16497002#comment-16497002
]
Mark Miller commented on SOLR-12297:
------------------------------------
It's a unified client, not sure what that references.
Jetty HttpClient was originally just HTTP/1.1 and still can be, that is how I
first configured it and I left in the code to do it - it existed before there
was any Jetty client side support for HTTP/2. For HTTP/2 there is actually a
new lower level HTTP/2 client, but conveniently and unusual in the world of
HTTP Java clients, the high level original Jetty HttpClient can do Async,
HTTP/1.1, and HTTP/2 with the same API. Most other HTTP clients require using
different client API's depending on which of those you want.
So using the Jetty HttpClient without HTTP/2 is as easy as flipping the code
path in Http2SolrClient to 1.1 support.
We also can use the ALPN support to negotiate protocols on a single connector -
which means we will be able to serve HTTP/1.1 and HTTP/2 on the same port
depending on the clients capabilities.
> 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
> Assignee: 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: [email protected]
For additional commands, e-mail: [email protected]