Skip to content

Conversation

@dsmiley
Copy link
Contributor

@dsmiley dsmiley commented Nov 25, 2025

https://issues.apache.org/jira/browse/SOLR-XXXXX ?

Summary:

  • org.apache.solr.client.solrj.cloud is no more
  • org.apache.solr.client.solrj.embedded is no more
  • request centric classes in org.apache.solr.client.solrj or .impl were moved to under .request/.request.json
  • response centric classes -- same
  • org.apache.solr.client.solrj now only has: CloudSolrClient (was moved here), SolrClient, SolrQuery, SolrRequest, SolrResponse, SolrServerException.
  • SolrClientFunction is now an inner class of SolrClient
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/cloud/ShardTerms.java -> solr/core/src/java/org/apache/solr/cloud/ShardTerms.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java -> solr/solrj/src/java/org/apache/solr/client/solrj/CloudSolrClient.java
deleted: solr/solrj/src/java/org/apache/solr/client/solrj/SolrClientFunction.java
deleted: solr/solrj/src/java/org/apache/solr/client/solrj/cloud/package-info.java
deleted: solr/solrj/src/java/org/apache/solr/client/solrj/embedded/package.html
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DelegatingClusterStateProvider.java -> solr/solrj/src/java/org/apache/solr/client/solrj/impl/DelegatingClusterStateProvider.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java -> solr/solrj/src/java/org/apache/solr/client/solrj/impl/SSLConfig.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/JavaBinRequestWriter.java -> solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinRequestWriter.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/RoutedAliasTypes.java -> solr/solrj/src/java/org/apache/solr/client/solrj/request/RoutedAliasTypes.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/XMLRequestWriter.java -> solr/solrj/src/java/org/apache/solr/client/solrj/request/XMLRequestWriter.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java -> solr/solrj/src/java/org/apache/solr/client/solrj/request/json/JacksonContentWriter.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/FastStreamingDocsCallback.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/FastStreamingDocsCallback.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/InputStreamResponse.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/InputStreamResponse.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/InputStreamResponseParser.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/InputStreamResponseParser.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/JavaBinResponseParser.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/JavaBinResponseParser.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/JsonMapResponseParser.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/JsonMapResponseParser.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/ResponseParser.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/ResponseParser.java
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/StreamingResponseCallback.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/StreamingResponseCallback.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/impl/XMLResponseParser.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/XMLResponseParser.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/JacksonDataBindResponseParser.java -> solr/solrj/src/java/org/apache/solr/client/solrj/response/json/JacksonDataBindResponseParser.java 
renamed: solr/solrj/src/java/org/apache/solr/client/solrj/cloud/SocketProxy.java -> solr/test-framework/src/java/org/apache/solr/util/SocketProxy.java

@dsmiley
Copy link
Contributor Author

dsmiley commented Nov 25, 2025

Not trying to shove this in... happy to hear feedback. If I were to be slightly less aggressive and touch fewer things, CloudSolrClient could stay. But I think it's a major CloudSolrClient abstraction that users should be seeing. And I hate "impl" package ;-). With this PR, it's what's left is more internal-y things, plus the primary 2 Http SolrClients which aren't very internally but one will go to its own package (jetty) and honestly the other deserves one too (jdk).

@epugh
Copy link
Contributor

epugh commented Nov 25, 2025

Not trying to shove this in... happy to hear feedback. If I were to be slightly less aggressive and touch fewer things, CloudSolrClient could stay. But I think it's a major CloudSolrClient abstraction that users should be seeing. And I hate "impl" package ;-). With this PR, it's what's left is more internal-y things, plus the primary 2 Http SolrClients which aren't very internally but one will go to its own package (jetty) and honestly the other deserves one too (jdk).

I would much prefer to get this in NOW for 10, as if it's an 11 only thing it will make backporting harder. Having said that, we also need to get to "done done" so we can get 10 out soon!

@dsmiley
Copy link
Contributor Author

dsmiley commented Nov 25, 2025

I really like these changes. I'll put together a changelog entry & upgrade notes entry today. Want to merge Wednesday night.

@dsmiley
Copy link
Contributor Author

dsmiley commented Nov 25, 2025

BTW some of these moved things were already new in Solr 10 by other refactorings -- XMLRequestWriter, JavaBinResponseParser, maybe more. And some came into existence late in the 9 series.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants