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

Jason Gerlowski commented on SOLR-17161:
----------------------------------------

So, to summarize the current and proposed client hierarchies and names:

*Current*
{code}
SolrClient
    CloudSolrClient
        CloudHttp2SolrClient (Jetty or JDK)
    ConcurrentUpdateHttp2SolrClient (Jetty)
    HttpSolrClientBase
        Http2SolrClient (Jetty)
        HttpJdkSolrClient (JDK)
    LBSolrClient
        LBHttp2SolrClient (Jetty or JDK)
{code}

*Proposed*
{code}
SolrClient
    CloudSolrClient
        CloudHttp2SolrClient (JDK...but also Jetty?)
          CloudJettySolrClient (Jetty)
    ConcurrentUpdateHttp2SolrClient (Jetty)
    HttpSolrClientBase
        HttpJettySolrClient (Jetty)
        HttpJdkSolrClient (JDK)
    LBSolrClient
        LBHttp2SolrClient (JDK...but also Jetty?)
          LBJettySolrClient (Jetty)
{code}

I'm a little confused by the role of CloudHttp2SolrClient in the proposed 
scheme.  What's the difference between it (i.e. CloudHttp2SolrClient) and 
CloudJettySolrClient when Jetty is on the classpath?  Is there any?  (Or 
perhaps my diagram above is incorrect?)

I have a similar question about LBHttp2SolrClient.

----

Additionally, I'm a little confused about our overall strategy with these 
different http libraries.  It seems like there's two general approaches for 
exposing these http-libs to users: either each http-lib can be given its own 
user-facing SolrClient implementation (e.g. the CloudJettySolrClient proposed 
by your comment above), or we can create a single user-facing SolrClient 
implementation that supports multiple http-libs.

I kindof thought we were aiming for the latter approach (i.e. single SolrClient 
supporting multiple http libs). James' SOLR-17771 landed just last month and 
pushed in this direction.  But the approach proposed above seems to undercut 
that a bit by introducing a new "cloud" implementation that's Jetty specific.

Am I missing something?  Or is this intentional?

> Separate out a solrj-jetty artifact (10.0)
> ------------------------------------------
>
>                 Key: SOLR-17161
>                 URL: https://issues.apache.org/jira/browse/SOLR-17161
>             Project: Solr
>          Issue Type: Sub-task
>          Components: clients - java
>            Reporter: Jan Høydahl
>            Assignee: David Smiley
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 10.0
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Given we have a native JDK based client in SOLR-599, we can separate out all 
> {{Http2SolrClient}} and freiends with their jetty-client dependencies into a 
> separate artifact {{{}solrj-jetty{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to