Please!   It would be nice if someone laid out the work to be done in some 
tickets so folks could pick it up….  Otherwise it looks a bit daunting!

> On Apr 30, 2024, at 7:38 AM, Jan Høydahl <jan....@cominvent.com> wrote:
> 
> In Solr 10, SolrJ will have new maven coordinates and the need to explicitly 
> pull in solrj-xx dependencies. So we coult also do a few key renames such as 
> "Http2SolrClient" -> "HttpJettySolrClient", while we're busy breaking things 
> :)
> 
> Jan
> 
>> 30. apr. 2024 kl. 13:21 skrev Jason Gerlowski <gerlowsk...@gmail.com>:
>> 
>> Thanks for summarizing this all David!
>> 
>> We have HttpSolrClientBase AND BaseHttpSolrClient?!
>> 
>> A bit of the messiness here seems like it will resolve itself
>> "automatically" if we make good on removing the existing deprecations.
>> (Though given how "entrenched" the Apache client is, that will require
>> a good bit of work...).
>> 
>> I like the convention established by the JDK client, of naming our
>> low-level SolrClient implementations based on the HttpClient vendor in
>> use.  IMO doing otherwise can be confusing in a few different ways.
>> It's not high on my list to act on it immediately, but if there's
>> enough consensus on the idea of renaming (e.g.) Http2SolrClient, I
>> could file a ticket to document that as an ideal step and maybe it'll
>> hook someone eventually?
>> 
>> Best,
>> 
>> Jason
>> 
>> On Thu, Apr 25, 2024 at 11:34 PM Mark Miller <markrmil...@gmail.com> wrote:
>>> 
>>> It's too bad HttpSolrServer setup this client philosophy. It's momentum was 
>>> directly opposite to what you want: a SolrClient that can optionally stream 
>>> or load balance and a SolrCloudClient that wraps it.
>>> 
>>> [Mark Miller - Chat @ 
>>> Spike](https://spikenow.com/r/a/?ref=spike-organic-signature&_ts=2kigx5)  
>>> [2kigx5]
>>> 
>>> On April 25, 2024 at 20:07 GMT, David Smiley <dsmi...@apache.org> wrote:
>>> 
>>> Our SolrJ class hierarchy is looking rather confusing right now for
>>> the HTTP ones especially. This message is mostly a big FYI, with some
>>> reflections and a recommendation or two.
>>> 
>>> SolrClient
>>> - BaseHttpSolrClient (NOT yet deprecated but should be?)
>>> - - HttpSolrClient (based on Apache HttpClient; deprecated)
>>> - - - DelegationTokenHttpSolrClient
>>> - CloudSolrClient
>>> - - CloudHttp2SolrClient
>>> - - CloudLegacySolrClient (based on Apache HttpClient; deprecated)
>>> - ConcurrentUpdateHttp2SolrClient
>>> - - ...
>>> - ConcurrentUpdateSolrClient (based on Apache HttpClient; deprecated)
>>> - - ...
>>> - HttpSolrClientBase (this is new)
>>> - - Http2SolrClient
>>> - - HttpJdkSolrClient (this is new; based on the JDK HttpClient)
>>> - LBSolrClient
>>> - - LBHttp2SolrClient
>>> - - LBHttpSolrClient (based on Apache HttpClient; deprecated)
>>> 
>>> In retrospect, we can see that some past names weren't so great after
>>> all. I think our clients should reflect the vendor/source of the
>>> HttpClient. "HttpJdkSolrClient" is the newest client, and it reflects
>>> the vendor (JDK provided HttpClient). Personally I don't care enough
>>> to rename all the ones with "2" in there to have "Jetty" but that's
>>> what they are -- if it has a "2", it's using Jetty (and it supports
>>> 1.1; FYI JDK also supports both 1.1 and 2 as well). The clients for
>>> Apache HttpClient are all deprecated so perhaps we continue to leave
>>> them be, mostly. Removing them will take some time; they are
>>> entrenched! BaseHttpSolrClient (the parent of HttpSolrClient) is at
>>> the moment even more confusing because HttpSolrClientBase was just
>>> added. BaseHttpSolrClient should be removed now; it only holds 2
>>> static inner classes for RemoteSolrException and
>>> RemoteExecutionException which should find a new home somewhere.
>>> Since they are referenced so much, that will happen only in main.
>>> HttpSolrClientBase is a tempting home but SolrClient would be fine, I
>>> think.
>>> 
>>> Also, just because we have a nice new HttpJdkSolrClient, doesn't mean
>>> we can yet advise anyone to safely remove Apache & Jetty dependencies
>>> *yet*! We have no tests that this works, and a quick attempt I did
>>> recently showed there are some obscure references still! Modularizing
>>> SolrJ further (for Jetty & Apache) will help reveal where we have some
>>> references, after which we can finally free users of needing those
>>> dependencies.
>>> 
>>> ~ David Smiley
>>> Apache Lucene/Solr Search Developer
>>> http://www.linkedin.com/in/davidwsmiley
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
>>> For additional commands, e-mail: dev-h...@solr.apache.org
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
>> For additional commands, e-mail: dev-h...@solr.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
> For additional commands, e-mail: dev-h...@solr.apache.org
> 

_______________________
Eric Pugh | Founder | OpenSource Connections, LLC | 434.466.1467 | 
http://www.opensourceconnections.com <http://www.opensourceconnections.com/> | 
My Free/Busy <http://tinyurl.com/eric-cal>  
Co-Author: Apache Solr Enterprise Search Server, 3rd Ed 
<https://www.packtpub.com/big-data-and-business-intelligence/apache-solr-enterprise-search-server-third-edition-raw>
    
This e-mail and all contents, including attachments, is considered to be 
Company Confidential unless explicitly stated otherwise, regardless of whether 
attachments are marked as such.

Reply via email to