This is an automated email from the ASF dual-hosted git repository.

janhoy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new feb25c43d7b SOLR-17201 Make Http2SolrClients not experimental (#2345)
feb25c43d7b is described below

commit feb25c43d7bac1662f4bc3ef3f30a352e1463790
Author: Jan Høydahl <[email protected]>
AuthorDate: Wed Mar 20 10:10:06 2024 +0100

    SOLR-17201 Make Http2SolrClients not experimental (#2345)
    
    Also un-deprecate Krb5HttpClientBuilder and 
PreemptiveBasicAuthClientBuilderFactory
---
 solr/CHANGES.txt                                              |  3 +++
 solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc | 11 ++++-------
 .../modules/upgrade-notes/pages/major-changes-in-solr-9.adoc  |  4 ++++
 .../apache/solr/client/solrj/impl/CloudHttp2SolrClient.java   |  1 -
 .../client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java    |  4 +---
 .../org/apache/solr/client/solrj/impl/Http2SolrClient.java    |  2 --
 .../apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java  |  7 +------
 .../org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java  |  1 -
 .../solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java   |  3 ---
 9 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 6bb6afb770d..76330b4473f 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -159,6 +159,9 @@ Other Changes
 
 * SOLR-17190: Replace org.apache.solr.util.LongSet with hppc LongHashSet 
(Michael Gibney)
 
+* SOLR-17201: Http2SolrClient and friends no longer marked as 
@lucene.experimental.
+  Krb5HttpClientBuilder and PreemptiveBasicAuthClientBuilderFactory no longer 
deprecated (janhoy)
+
 ==================  9.5.0 ==================
 New Features
 ---------------------
diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc 
b/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
index 8b6997e7c64..32bf0aca411 100644
--- a/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
+++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
@@ -97,19 +97,16 @@ Requests are sent in the form of 
{solr-javadocs}/solrj/org/apache/solr/client/so
 
 - 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/HttpSolrClient.html[`HttpSolrClient`]
 - geared towards query-centric workloads, though also a good general-purpose 
client.
 Communicates directly with a single Solr node.
-- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/Http2SolrClient.html[`Http2SolrClient`]
 - async, non-blocking and general-purpose client that leverage HTTP/2.
-This class is experimental therefore its API's might change or be removed in 
minor versions of SolrJ.
-- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.html[`HttpJdkSolrClient`]
 - General-purpose client using the JDK's built-in Http Client.  Supports both 
Http/2 and Http/1.1.  Targeted for those users wishing to minimize application 
dependencies.
+- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/Http2SolrClient.html[`Http2SolrClient`]
 - async, non-blocking and general-purpose client that leverage HTTP/2 using 
the Jetty Http library.
+- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.html[`HttpJdkSolrClient`]
 - General-purpose client using the JDK's built-in Http Client. Supports both 
Http/2 and Http/1.1.  Targeted for those users wishing to minimize application 
dependencies.
 - 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/LBHttpSolrClient.html[`LBHttpSolrClient`]
 - balances request load across a list of Solr nodes.
 Adjusts the list of "in-service" nodes based on node health.
-- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.html[`LBHttp2SolrClient`]
 - just like `LBHttpSolrClient` but using `Http2SolrClient` instead.
-This class is experimental therefore its API's might change or be removed in 
minor versions of SolrJ.
+- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.html[`LBHttp2SolrClient`]
 - just like `LBHttpSolrClient` but using `Http2SolrClient` instead, with the 
Jetty Http library.
 - 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/CloudSolrClient.html[`CloudSolrClient`]
 - geared towards communicating with SolrCloud deployments.
 Uses already-recorded ZooKeeper state to discover and route requests to 
healthy Solr nodes.
 - 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.html[`ConcurrentUpdateSolrClient`]
 - geared towards indexing-centric workloads.
 Buffers documents internally before sending larger batches to Solr.
-- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.html[`ConcurrentUpdateHttp2SolrClient`]
 - just like `ConcurrentUpdateSolrClient` but using `Http2SolrClient` instead.
-This class is experimental therefore its API's might change or be removed in 
minor versions of SolrJ.
+- 
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.html[`ConcurrentUpdateHttp2SolrClient`]
 - just like `ConcurrentUpdateSolrClient` but using `Http2SolrClient` instead, 
with the Jetty Http library.
 
 === Common Configuration Options
 
diff --git 
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc 
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
index a2655e75e17..173a9cffeb3 100644
--- 
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
+++ 
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
@@ -67,6 +67,10 @@ It is always strongly recommended that you fully reindex 
your documents after a
 In Solr 8, it was possible to add docValues to a schema without re-indexing 
via `UninvertDocValuesMergePolicy`, an advanced/expert utility.
 Due to changes in Lucene 9, that isn't possible any more.
 
+== Solr 9.6
+=== SolrJ
+* The suite of `Http2SolrClient`s, powered by the Jetty Http library are no 
longer marked as experimental.
+
 == Solr 9.5
 === Dependency Upgrades
 <<#solr-8-2,Solr 8.2 recommended using Zookeeper 3.5.5>> and now with Curator 
5.5.0 requires https://curator.apache.org/docs/breaking-changes/[Zookeeper 
3.5.x or higher]. This primarily affects users of `hadoop-auth`, but usage of 
Curator could affect other parts of Solr.
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
index e00ed50c9e7..9e4bdad3a16 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java
@@ -34,7 +34,6 @@ import org.apache.solr.common.SolrException;
  * communicate with Zookeeper to discover Solr endpoints for SolrCloud 
collections, and then use the
  * {@link LBHttp2SolrClient} to issue requests.
  *
- * @lucene.experimental
  * @since solr 8.0
  */
 @SuppressWarnings("serial")
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java
 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java
index 9deb0364543..d39fd607a15 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java
@@ -48,9 +48,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 
-/**
- * @lucene.experimental
- */
+/** A Solr client using {@link Http2SolrClient} to send concurrent updates to 
Solr. */
 public class ConcurrentUpdateHttp2SolrClient extends SolrClient {
   private static final long serialVersionUID = 1L;
   private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
index 07264bd87a9..6a97bd13ac3 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
@@ -104,8 +104,6 @@ import org.slf4j.MDC;
  *       HttpSolrClient#getHttpClient()}, sharing connection pools should be 
done by {@link
  *       Http2SolrClient.Builder#withHttpClient(Http2SolrClient)}
  * </ul>
- *
- * @lucene.experimental
  */
 public class Http2SolrClient extends HttpSolrClientBase {
   public static final String REQ_PRINCIPAL_KEY = "solr-req-principal";
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
index 79e30aa66ac..8b47d45d2f0 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java
@@ -47,12 +47,7 @@ import org.eclipse.jetty.client.util.SPNEGOAuthentication;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Kerberos-enabled SolrHttpClientBuilder
- *
- * @deprecated Please consider alternatives involving the new Solr Http2Client
- */
-@Deprecated(since = "9.0")
+/** Kerberos-enabled SolrHttpClientBuilder */
 public class Krb5HttpClientBuilder implements HttpClientBuilderFactory {
 
   public static final String LOGIN_CONFIG_PROP = 
"java.security.auth.login.config";
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java
index 67fce05183d..be81d38f658 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java
@@ -95,7 +95,6 @@ import org.slf4j.MDC;
  * httpd with mod_proxy_balancer as a load balancer. See <a
  * href="http://en.wikipedia.org/wiki/Load_balancing_(computing)">Load 
balancing on Wikipedia</a>
  *
- * @lucene.experimental
  * @since solr 8.0
  */
 public class LBHttp2SolrClient extends LBSolrClient {
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java
 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java
index 89a097f9f38..cc26e3f1edd 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java
@@ -42,10 +42,7 @@ import 
org.eclipse.jetty.client.WWWAuthenticationProtocolHandler;
 /**
  * HttpClientConfigurer implementation providing support for preemptive Http 
Basic authentication
  * scheme.
- *
- * @deprecated Please look into using Solr's new Http2 clients
  */
-@Deprecated(since = "9.0")
 public class PreemptiveBasicAuthClientBuilderFactory implements 
HttpClientBuilderFactory {
   /**
    * A system property used to specify a properties file containing default 
parameters used for

Reply via email to