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

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


The following commit(s) were added to refs/heads/branch_9x by this push:
     new d6520639780 SOLR-17611: SolrJ User-Agent, pass Solr version (#2927)
d6520639780 is described below

commit d65206397800faaaa50db0fda43e9e4040970553
Author: David Smiley <[email protected]>
AuthorDate: Thu Jan 16 16:44:57 2025 -0500

    SOLR-17611: SolrJ User-Agent, pass Solr version (#2927)
    
    SolrJ's HTTP User-Agent header now uses the version of SolrJ (Solr) instead 
of 1.0 or 2.0.  There's a corresponding HttpSolrCall.getUserAgentSolrVersion to 
parse it.
    
    (cherry picked from commit 32aee2d54ab103c450e03992408377756758651e)
---
 solr/CHANGES.txt                                   |  3 ++
 .../java/org/apache/solr/servlet/HttpSolrCall.java | 19 ++++++++++
 .../solrj/impl/ConcurrentUpdateSolrClient.java     |  2 +-
 .../solr/client/solrj/impl/Http2SolrClient.java    |  8 +++--
 .../solr/client/solrj/impl/HttpJdkSolrClient.java  |  3 +-
 .../solr/client/solrj/impl/HttpSolrClient.java     | 12 +++----
 .../client/solrj/impl/BasicHttpSolrClientTest.java | 40 ++++++++++++----------
 .../client/solrj/impl/Http2SolrClientTest.java     |  3 +-
 .../client/solrj/impl/HttpJdkSolrClientTest.java   |  3 +-
 9 files changed, 59 insertions(+), 34 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index a524dc755e5..11124077b6a 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -52,6 +52,9 @@ Other Changes
 
 * SOLR-17589: Prevent error log entry on solr server due to initial HEAD 
request from HttpJdkSolrClient. (Paul Blanchaert via James Dyer)
 
+* SOLR-17611: SolrJ's User-Agent header now uses the version of SolrJ.  
There's a corresponding
+  HttpSolrCall.getUserAgentSolrVersion to parse it.  (David Smiley)
+
 ==================  9.8.0 ==================
 New Features
 ---------------------
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java 
b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 1ddfdc1acd6..5c06364462e 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -77,6 +77,7 @@ import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.entity.InputStreamEntity;
 import org.apache.solr.api.ApiBag;
 import org.apache.solr.api.V2HttpCall;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.common.SolrException;
@@ -1215,6 +1216,24 @@ public class HttpSolrCall {
     return handler;
   }
 
+  /**
+   * Gets the client (user-agent) SolrJ version, or null if isn't SolrJ. Note 
that older SolrJ
+   * clients prior to 9.9 present themselves as 1.0 or 2.0.
+   */
+  public SolrVersion getUserAgentSolrVersion() {
+    String header = req.getHeader("User-Agent");
+    if (header == null || !header.startsWith("Solr")) {
+      return null;
+    }
+    try {
+      return SolrVersion.valueOf(header.substring(header.lastIndexOf(' ') + 
1));
+    } catch (Exception e) {
+      // unexpected but let's not freak out
+      assert false : e.toString();
+      return null;
+    }
+  }
+
   private AuthorizationContext getAuthCtx() {
 
     String resource = getPath();
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
index 8f4cf784102..1bb31a7974e 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
@@ -346,7 +346,7 @@ public class ConcurrentUpdateSolrClient extends SolrClient {
           method.setConfig(requestConfigBuilder.build());
 
           method.setEntity(template);
-          method.addHeader("User-Agent", HttpSolrClient.AGENT);
+          method.addHeader("User-Agent", HttpSolrClient.USER_AGENT);
           method.addHeader("Content-Type", contentType);
 
           response =
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 2f4ea6509a1..5355c7a4b60 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
@@ -40,6 +40,7 @@ import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrClientFunction;
 import org.apache.solr.client.solrj.SolrRequest;
@@ -108,11 +109,12 @@ import org.slf4j.MDC;
  * </ul>
  */
 public class Http2SolrClient extends HttpSolrClientBase {
+  private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   public static final String REQ_PRINCIPAL_KEY = "solr-req-principal";
+  private static final String USER_AGENT =
+      "Solr[" + MethodHandles.lookup().lookupClass().getName() + "] " + 
SolrVersion.LATEST_STRING;
 
   private static volatile SSLConfig defaultSSLConfig;
-  private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-  private static final String AGENT = "Solr[" + 
Http2SolrClient.class.getName() + "] 2.0";
 
   private final HttpClient httpClient;
 
@@ -253,7 +255,7 @@ public class Http2SolrClient extends HttpSolrClientBase {
     httpClient.setFollowRedirects(false);
     httpClient.setMaxRequestsQueuedPerDestination(
         asyncTracker.getMaxRequestsQueuedPerDestination());
-    httpClient.setUserAgentField(new HttpField(HttpHeader.USER_AGENT, AGENT));
+    httpClient.setUserAgentField(new HttpField(HttpHeader.USER_AGENT, 
USER_AGENT));
     httpClient.setIdleTimeout(idleTimeoutMillis);
 
     if (builder.cookieStore != null) {
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java
index 32f06cf6520..c0b3ce90e1a 100644
--- 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java
+++ 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java
@@ -47,6 +47,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import javax.net.ssl.SSLContext;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
@@ -75,7 +76,7 @@ public class HttpJdkSolrClient extends HttpSolrClientBase {
   private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
   private static final String USER_AGENT =
-      "Solr[" + MethodHandles.lookup().lookupClass().getName() + "] 1.0";
+      "Solr[" + MethodHandles.lookup().lookupClass().getName() + "] " + 
SolrVersion.LATEST_STRING;
 
   protected HttpClient httpClient;
 
diff --git 
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java 
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
index a6907565cc2..cb9bd5e5646 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
@@ -71,6 +71,7 @@ import org.apache.http.entity.mime.content.InputStreamBody;
 import org.apache.http.entity.mime.content.StringBody;
 import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicNameValuePair;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrRequest;
@@ -87,8 +88,6 @@ import org.apache.solr.common.util.ExecutorUtil;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.SolrNamedThreadFactory;
 import org.apache.solr.common.util.Utils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 
 /**
@@ -100,15 +99,12 @@ import org.slf4j.MDC;
 public class HttpSolrClient extends BaseHttpSolrClient {
 
   private static final Charset FALLBACK_CHARSET = StandardCharsets.UTF_8;
-  private static final String DEFAULT_PATH = "/select";
   private static final long serialVersionUID = -946812319974801896L;
 
   protected static final Set<Integer> UNMATCHED_ACCEPTED_ERROR_CODES = 
Collections.singleton(429);
 
-  /** User-Agent String. */
-  public static final String AGENT = "Solr[" + HttpSolrClient.class.getName() 
+ "] 1.0";
-
-  private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+  static final String USER_AGENT =
+      "Solr[" + MethodHandles.lookup().lookupClass().getName() + "] " + 
SolrVersion.LATEST_STRING;
 
   static final Class<HttpSolrClient> cacheKey = HttpSolrClient.class;
 
@@ -556,7 +552,7 @@ public class HttpSolrClient extends BaseHttpSolrClient {
       final ResponseParser processor,
       final boolean isV2Api)
       throws SolrServerException {
-    method.addHeader("User-Agent", AGENT);
+    method.addHeader("User-Agent", USER_AGENT);
 
     org.apache.http.client.config.RequestConfig.Builder requestConfigBuilder =
         HttpClientUtil.createDefaultRequestConfigBuilder();
diff --git 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
index c57e3d7fa5a..98ea89a8d24 100644
--- 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
+++ 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
@@ -53,6 +53,7 @@ import org.apache.http.impl.cookie.BasicClientCookie;
 import org.apache.http.protocol.HttpContext;
 import org.apache.solr.SolrJettyTestBase;
 import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrRequest;
@@ -79,6 +80,7 @@ import org.slf4j.LoggerFactory;
 public class BasicHttpSolrClientTest extends SolrJettyTestBase {
 
   private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+  private static final String UA_VERSION = SolrVersion.LATEST_STRING;
 
   public static class RedirectServlet extends HttpServlet {
     @Override
@@ -261,7 +263,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals("get", DebugServlet.lastMethod);
       // agent
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       // default wt
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
@@ -272,7 +274,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
           client.getParser().getVersion(), 
DebugServlet.parameters.get(CommonParams.VERSION)[0]);
       // agent
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       // keepalive
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
@@ -290,7 +292,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("post", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -300,7 +302,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals(1, DebugServlet.parameters.get("a").length);
       assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
       assertEquals(
@@ -315,7 +317,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("put", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -325,7 +327,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals(1, DebugServlet.parameters.get("a").length);
       assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
       assertEquals(
@@ -346,7 +348,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("get", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -356,7 +358,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals(1, DebugServlet.parameters.get("a").length);
       assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
 
@@ -368,7 +370,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("post", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -378,7 +380,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals(1, DebugServlet.parameters.get("a").length);
       assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
       assertEquals(
@@ -392,7 +394,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("put", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -402,7 +404,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals(1, DebugServlet.parameters.get("a").length);
       assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
       assertEquals(
@@ -426,7 +428,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals("post", DebugServlet.lastMethod);
       // agent
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       // default wt
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
@@ -437,7 +439,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
           client.getParser().getVersion(), 
DebugServlet.parameters.get(CommonParams.VERSION)[0]);
       // agent
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       // keepalive
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
@@ -457,7 +459,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("post", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -465,7 +467,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals(
           client.getParser().getVersion(), 
DebugServlet.parameters.get(CommonParams.VERSION)[0]);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
     }
@@ -500,7 +502,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
       assertEquals("post", DebugServlet.lastMethod);
       // agent
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       // default wt
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
@@ -531,7 +533,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("post", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
@@ -558,7 +560,7 @@ public class BasicHttpSolrClientTest extends 
SolrJettyTestBase {
 
       assertEquals("post", DebugServlet.lastMethod);
       assertEquals(
-          "Solr[" + HttpSolrClient.class.getName() + "] 1.0",
+          "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION,
           DebugServlet.headers.get("User-Agent"));
       assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
       assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
diff --git 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
index 15cfc0432e1..07c96e85c81 100644
--- 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
+++ 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java
@@ -23,6 +23,7 @@ import java.util.Base64;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.concurrent.TimeUnit;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrQuery;
@@ -44,7 +45,7 @@ public class Http2SolrClientTest extends 
HttpSolrClientTestBase {
 
   @Override
   protected String expectedUserAgent() {
-    return "Solr[" + Http2SolrClient.class.getName() + "] 2.0";
+    return "Solr[" + Http2SolrClient.class.getName() + "] " + 
SolrVersion.LATEST_STRING;
   }
 
   @Override
diff --git 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java
 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java
index 19636995740..4dec7a47068 100644
--- 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java
+++ 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java
@@ -41,6 +41,7 @@ import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509ExtendedTrustManager;
 import org.apache.lucene.util.NamedThreadFactory;
 import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.client.api.util.SolrVersion;
 import org.apache.solr.client.solrj.ResponseParser;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrRequest;
@@ -630,7 +631,7 @@ public class HttpJdkSolrClientTest extends 
HttpSolrClientTestBase {
 
   @Override
   protected String expectedUserAgent() {
-    return "Solr[" + HttpJdkSolrClient.class.getName() + "] 1.0";
+    return "Solr[" + HttpJdkSolrClient.class.getName() + "] " + 
SolrVersion.LATEST_STRING;
   }
 
   @Override

Reply via email to