lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Miller (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (SOLR-12297) Create a good SolrClient for SolrCloud.
Date Tue, 01 May 2018 21:08:00 GMT

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

Mark Miller edited comment on SOLR-12297 at 5/1/18 9:07 PM:
------------------------------------------------------------

My plan for this would be done in stages:

*Stage1*: Add this new Http2SolrClient. It would initially be used with Http1.1 and serve
as a better alternative to both ConcurrentUpdateSolrClient (other than for very special use
cases) and HttpSolrClient. It would offer non blocking IO and async request options. It may
not offer every feature of HttpSolrClient (mostly non basic auth security).

*Stage2*: Over time, Http2SolrClient offers every feature of HttpSolrClient.

*Stage3*: We replace internal usage of HttpSolrClient with Http2SolrClient. Now we can freely
explore async options or changes over time.

*Stage4*: We wait for a major version to switch to Http2 from Http1.1, or we offer Http2 as
an option, or use two connectors and offer Http2 on another port.

*Stage5*: We can explore taking advantage of other Http2 options that we don't get for free
as we do multiplexing.

*Stage6*: We consider removing HttpSolrClient and ConcurrentUpdateSolrClient in future versions
of Solr.


was (Author: markrmiller@gmail.com):
My plan for this would be done in stages:

Stage1: Add this new Http2SolrClient. It would initially be used with Http1.1 and serve as
a better alternative to ConcurrentUpdateSolrClient (other than for very special use cases)
and HttpSolrClient. It would offer non blocking IO and async request options. It may not offer
every feature of HttpSolrClient (mostly non basic auth security).

Stage2: Over time, Http2SolrClient offers every feature of HttpSolrClient.

Stage3: We replace internal usage of HttpSolrClient with Http2SolrClient. Now we can freely
explore async options or changes over time.

Stage4: We wait for a major version to switch to Http2 from Http1.1, or we offer Http2 as
an option, or use two connectors and offer Http2 on another port.

Stage5: We can explore taking advantage of other Http2 options that we don't get for free,
like multiplexing.

> Create a good SolrClient for SolrCloud.
> ---------------------------------------
>
>                 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message