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