This is an automated email from the ASF dual-hosted git repository.
gerlowskija 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 02d3cb4abcc SOLR-18332: Remove deprecated 'qt' param from some tests
(#4699)
02d3cb4abcc is described below
commit 02d3cb4abcc9e51dd19c47557d9f937eeb2db9ec
Author: Jason Gerlowski <[email protected]>
AuthorDate: Wed Aug 5 22:00:20 2026 -0400
SOLR-18332: Remove deprecated 'qt' param from some tests (#4699)
Convert tests that set the 'qt' request parameter directly on a
SolrQuery/SolrParams object to instead select the request handler via
QueryRequest's path-based constructor or an explicit handler argument.
Involves minor method-overload changes to SolrTestCaseJ4 and
BaseDistributedSearchTestCase.
Many 'qt' usages remain; this is just an initial batch.
---
.../test/org/apache/solr/TestCrossCoreJoin.java | 6 +---
.../org/apache/solr/TestDistributedGrouping.java | 4 ---
.../apache/solr/cloud/BasicDistributedZk2Test.java | 3 +-
.../apache/solr/cloud/BasicDistributedZkTest.java | 9 +++---
.../DistribDocExpirationUpdateProcessorTest.java | 3 +-
.../solr/cloud/TestStressInPlaceUpdates.java | 8 +++--
.../solr/handler/MoreLikeThisHandlerTest.java | 13 +++++---
.../solr/handler/TestReplicationHandler.java | 35 ++++++++++------------
.../TestUserManagedReplicationWithAuth.java | 6 ++--
.../admin/LukeRequestHandlerDistribTest.java | 3 +-
.../component/DistributedMLTComponentTest.java | 2 +-
.../component/SearchHandlerAppendsCloudTest.java | 6 ++--
.../TermVectorComponentDistributedTest.java | 2 +-
.../org/apache/solr/handler/tagger/TaggerTest.java | 4 +--
.../apache/solr/handler/tagger/TaggerTestCase.java | 5 ++--
.../solr/handler/tagger/XmlInterpolationTest.java | 2 +-
.../solr/spelling/SpellCheckCollatorTest.java | 1 -
.../apache/solr/client/solrj/SolrExampleTests.java | 15 +++++-----
.../solrj/response/TestSpellCheckResponse.java | 12 +++-----
.../solrj/response/TestSuggesterResponse.java | 10 ++-----
.../apache/solr/BaseDistributedSearchTestCase.java | 31 ++++++++++++++-----
.../src/java/org/apache/solr/SolrTestCaseJ4.java | 11 ++++++-
.../solr/cloud/AbstractFullDistribZkTestBase.java | 5 ++--
23 files changed, 104 insertions(+), 92 deletions(-)
diff --git a/solr/core/src/test/org/apache/solr/TestCrossCoreJoin.java
b/solr/core/src/test/org/apache/solr/TestCrossCoreJoin.java
index 739fe91fd86..1d8f2308c6b 100644
--- a/solr/core/src/test/org/apache/solr/TestCrossCoreJoin.java
+++ b/solr/core/src/test/org/apache/solr/TestCrossCoreJoin.java
@@ -186,7 +186,6 @@ public class TestCrossCoreJoin extends SolrTestCaseJ4 {
assertQEx("schema12.xml" + " has no \"cat\" field", req("cat:*"),
ErrorCode.BAD_REQUEST);
ModifiableSolrParams solrParams = new ModifiableSolrParams();
solrParams.set(CommonParams.Q, "cat:*");
- solrParams.set(CommonParams.QT, "/select");
solrParams.set(CommonParams.ROWS, 100);
try (var req = new SolrQueryRequestBase(fromCore, solrParams)) {
final String resp = query(fromCore, req);
@@ -196,10 +195,7 @@ public class TestCrossCoreJoin extends SolrTestCaseJ4 {
}
public String query(SolrCore core, SolrQueryRequest req) throws Exception {
- String handler = "standard";
- if (req.getParams().get("qt") != null) {
- handler = req.getParams().get("qt");
- }
+ String handler = "/select";
if (req.getParams().get("wt") == null) {
ModifiableSolrParams params = new ModifiableSolrParams(req.getParams());
params.set("wt", "xml");
diff --git a/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
b/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
index 132b21784e0..ec534cd3208 100644
--- a/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
+++ b/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
@@ -172,8 +172,6 @@ public class TestDistributedGrouping extends
BaseDistributedSearchTestCase {
"true",
"spellcheck.build",
"true",
- "qt",
- "spellCheckCompRH",
"df",
"subject");
query(
@@ -564,8 +562,6 @@ public class TestDistributedGrouping extends
BaseDistributedSearchTestCase {
"true",
"spellcheck.build",
"true",
- "qt",
- "spellCheckCompRH",
"df",
"subject");
query(
diff --git
a/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
b/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
index 295344d57d9..61edcfa0f1f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
+++ b/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
@@ -445,7 +445,6 @@ public class BasicDistributedZk2Test extends
AbstractFullDistribZkTestBase {
getHttpSolrClient((String)
shardToJetty.get(SHARD2).get(0).info.get("base_url"))) {
final String backupName = "the_backup";
ModifiableSolrParams params = new ModifiableSolrParams();
- params.set("qt", ReplicationHandler.PATH);
params.set("command", "backup");
params.set("name", backupName);
final Path location = FilterPath.unwrap(createTempDir()).toRealPath();
@@ -453,7 +452,7 @@ public class BasicDistributedZk2Test extends
AbstractFullDistribZkTestBase {
jettys.forEach(j -> j.getCoreContainer().getAllowPaths().add(location));
params.set("location", location.toString());
- QueryRequest request = new QueryRequest(params);
+ QueryRequest request = new QueryRequest(ReplicationHandler.PATH, params);
client.request(request, DEFAULT_TEST_COLLECTION_NAME);
final BackupStatusChecker backupStatus =
diff --git
a/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
b/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
index b82625c6202..1608b90f57d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
@@ -761,7 +761,7 @@ public class BasicDistributedZkTest extends
AbstractFullDistribZkTestBase {
SolrQuery query = new SolrQuery("*:*");
query.addFacetField(tsort);
query.setFacetMissing(false);
- QueryResponse resp = queryRandomShard(query);
+ QueryResponse resp = queryRandomShard("/select", query);
List<FacetField> ffs = resp.getFacetFields();
for (FacetField ff : ffs) {
if (ff.getName().equals(tsort) == false) continue;
@@ -1665,14 +1665,15 @@ public class BasicDistributedZkTest extends
AbstractFullDistribZkTestBase {
}
@Override
- protected QueryResponse queryRandomShard(ModifiableSolrParams params)
+ protected QueryResponse queryRandomShard(String requestHandler,
ModifiableSolrParams params)
throws SolrServerException, IOException {
- if (r.nextBoolean()) return super.queryRandomShard(params);
+ if (r.nextBoolean()) return super.queryRandomShard(requestHandler, params);
if (r.nextBoolean()) params.set("collection", DEFAULT_COLLECTION);
- QueryResponse rsp = getCommonCloudSolrClient().query(params);
+ QueryResponse rsp =
+ new QueryRequest(requestHandler,
params).process(getCommonCloudSolrClient());
return rsp;
}
diff --git
a/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
b/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
index 9b506e2c8ed..45b83e7066d 100644
---
a/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
+++
b/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
@@ -293,8 +293,7 @@ public class DistribDocExpirationUpdateProcessorTest
extends SolrCloudTestCase {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("command", "indexversion");
params.set("_trace", "getIndexVersion");
- params.set("qt", ReplicationHandler.PATH);
- QueryRequest req = setAuthIfNeeded(new QueryRequest(params));
+ QueryRequest req = setAuthIfNeeded(new
QueryRequest(ReplicationHandler.PATH, params));
NamedList<Object> res = client.request(req);
assertNotNull("null response from server: " + coreName, res);
diff --git
a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
index 9239f4720b5..cb70491d2b6 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
@@ -30,6 +30,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.commons.math3.primes.Primes;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
@@ -409,7 +410,6 @@ public class TestStressInPlaceUpdates extends
AbstractFullDistribZkTestBase {
ModifiableSolrParams params = new ModifiableSolrParams();
if (realTime) {
params.set("wt", "json");
- params.set("qt", "/get");
params.set("ids", Integer.toString(id));
} else {
params.set("wt", "json");
@@ -420,7 +420,11 @@ public class TestStressInPlaceUpdates extends
AbstractFullDistribZkTestBase {
int clientId = rand.nextInt(clients.size());
if (!realTime) clientId = clientIndexUsedForCommit;
- QueryResponse response = clients.get(clientId).query(params);
+ SolrClient client = clients.get(clientId);
+ QueryResponse response =
+ realTime
+ ? new QueryRequest("/get", params).process(client)
+ : client.query(params);
if (response.getResults().size() == 0) {
// there's no info we can get back from a delete
operation, so not much we
// can check
diff --git
a/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
b/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
index 85ab057f8cd..341e406d17c 100644
--- a/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
@@ -220,17 +220,17 @@ public class MoreLikeThisHandlerTest extends
SolrTestCaseJ4 {
}
// test that qparser plugins work w/ the MoreLikeThisHandler
- params.set(CommonParams.QT, "/mlt");
params.set(CommonParams.Q, "{!field f=id}44");
try (SolrQueryRequest mltreq = new SolrQueryRequestBase(core, params)) {
- assertQ(mltreq, "//result/doc[1]/str[@name='id'][.='45']");
+ assertQ(null, "/mlt", mltreq, "//result/doc[1]/str[@name='id'][.='45']");
}
// test that debugging works (test for MoreLikeThis*Handler*)
- params.set(CommonParams.QT, "/mlt");
params.set(CommonParams.DEBUG_QUERY, "true");
try (SolrQueryRequest mltreq = new SolrQueryRequestBase(core, params)) {
assertQ(
+ null,
+ "/mlt",
mltreq,
"//result/doc[1]/str[@name='id'][.='45']",
"//lst[@name='debug']/lst[@name='explain']");
@@ -240,6 +240,8 @@ public class MoreLikeThisHandlerTest extends SolrTestCaseJ4
{
params.set("facet.field", "name");
try (SolrQueryRequest mltreq = new SolrQueryRequestBase(core, params)) {
assertQ(
+ null,
+ "/mlt",
mltreq,
"//result/doc[1]/str[@name='id'][.='45']",
"//lst[@name='facet_counts']/lst[@name='facet_fields']/lst[@name='name']/int[@name='George'][.='1']");
@@ -248,6 +250,8 @@ public class MoreLikeThisHandlerTest extends SolrTestCaseJ4
{
params.set("fq", "{!tag=tg}name:George");
try (SolrQueryRequest mltreq = new SolrQueryRequestBase(core, params)) {
assertQ(
+ null,
+ "/mlt",
mltreq,
"//result/doc[1]/str[@name='id'][.='45']",
"//lst[@name='facet_counts']/lst[@name='facet_fields']/lst[@name='name']/int[@name='George'][.='1']");
@@ -265,7 +269,6 @@ public class MoreLikeThisHandlerTest extends SolrTestCaseJ4
{
assertU(adoc("id", "4", "name", " ccc", "subword", " bbb "));
assertU(commit());
- params.set(CommonParams.QT, "/mlt");
params.set(MoreLikeThisParams.MLT, "true");
params.set(MoreLikeThisParams.SIMILARITY_FIELDS, "name,subword");
params.set(MoreLikeThisParams.INTERESTING_TERMS, "details");
@@ -280,6 +283,8 @@ public class MoreLikeThisHandlerTest extends SolrTestCaseJ4
{
// Make sure we have terms from both fields in the interestingTerms
array and all documents
// have been retrieved as matching.
assertQ(
+ null,
+ "/mlt",
req,
"//lst[@name = 'interestingTerms']/float[@name = 'subword:bbb']",
"//lst[@name = 'interestingTerms']/float[@name = 'name:bbb']",
diff --git
a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
index 11202518ebb..7f45190869a 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
@@ -55,6 +55,7 @@ import
org.apache.solr.client.solrj.SolrRequest.SolrRequestType;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.CoresApi;
import org.apache.solr.client.solrj.request.GenericSolrRequest;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.ReplicationApi;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.request.UpdateRequest;
@@ -64,7 +65,6 @@ import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.TimeSource;
@@ -732,15 +732,16 @@ public class TestReplicationHandler extends
SolrTestCaseJ4 {
private NamedList<Object> getFollowerDetails() throws SolrServerException,
IOException {
ModifiableSolrParams params = new ModifiableSolrParams();
- params.set(CommonParams.QT, "/replication");
params.set("command", "details");
params.set("follower", "true");
- QueryResponse response = followerClient.query(params);
+ final var getDetails = new GenericSolrRequest(SolrRequest.METHOD.GET,
"/replication", params);
+ getDetails.setRequiresCollection(true);
+ final var getDetailsResponse = getDetails.process(followerClient);
// details/follower/timesIndexReplicated
@SuppressWarnings({"unchecked"})
- NamedList<Object> details = (NamedList<Object>)
response.getResponse().get("details");
+ NamedList<Object> details = (NamedList<Object>)
getDetailsResponse.getResponse().get("details");
@SuppressWarnings({"unchecked"})
NamedList<Object> follower = (NamedList<Object>) details.get("follower");
return follower;
@@ -1481,14 +1482,11 @@ public class TestReplicationHandler extends
SolrTestCaseJ4 {
@Test
public void testFileListShouldReportErrorsWhenTheyOccur() throws Exception {
- SolrQuery q = new SolrQuery();
- q.add("qt", "/replication")
- .add("wt", "json")
- .add("command", "filelist")
- .add(
- "generation",
- "-2"); // A 'generation' value not matching any commit point
should cause error.
- QueryResponse response = followerClient.query(q);
+ // A 'generation' value not matching any commit point should cause error.
+ final var params = params("wt", "json", "command", "filelist",
"generation", "-2");
+ final var filelistReq = new GenericSolrRequest(SolrRequest.METHOD.GET,
"/replication", params);
+ filelistReq.setRequiresCollection(true);
+ final var response = filelistReq.process(followerClient);
NamedList<Object> resp = response.getResponse();
assertNotNull(resp);
assertEquals("ERROR", resp.get("status"));
@@ -1500,12 +1498,11 @@ public class TestReplicationHandler extends
SolrTestCaseJ4 {
int leaderPort = leaderJetty.getLocalPort();
leaderJetty.stop();
SolrQuery q = new SolrQuery();
- q.add("qt", "/replication")
- .add("wt", "json")
+ q.add("wt", "json")
.add("wait", "true")
.add("command", "fetchindex")
.add("leaderUrl", buildUrl(leaderPort));
- QueryResponse response = followerClient.query(q);
+ QueryResponse response = new QueryRequest("/replication",
q).process(followerClient);
NamedList<Object> resp = response.getResponse();
assertNotNull(resp);
assertEquals(
@@ -1517,12 +1514,12 @@ public class TestReplicationHandler extends
SolrTestCaseJ4 {
@Test
public void testShouldReportErrorWhenRequiredCommandArgMissing() {
SolrQuery q = new SolrQuery();
- q.add("qt", "/replication").add("wt", "json");
+ q.add("wt", "json");
SolrException thrown =
expectThrows(
SolrException.class,
() -> {
- followerClient.query(q);
+ new QueryRequest("/replication", q).process(followerClient);
});
assertEquals(SolrException.ErrorCode.BAD_REQUEST.code, thrown.code());
assertThat(thrown.getMessage(), containsString("Missing required
parameter: command"));
@@ -1531,12 +1528,12 @@ public class TestReplicationHandler extends
SolrTestCaseJ4 {
@Test
public void testShouldReportErrorWhenDeletingBackupButNameMissing() {
SolrQuery q = new SolrQuery();
- q.add("qt", "/replication").add("wt", "json").add("command",
"deletebackup");
+ q.add("wt", "json").add("command", "deletebackup");
SolrException thrown =
expectThrows(
SolrException.class,
() -> {
- followerClient.query(q);
+ new QueryRequest("/replication", q).process(followerClient);
});
assertEquals(SolrException.ErrorCode.BAD_REQUEST.code, thrown.code());
assertThat(thrown.getMessage(), containsString("Missing required
parameter: name"));
diff --git
a/solr/core/src/test/org/apache/solr/handler/TestUserManagedReplicationWithAuth.java
b/solr/core/src/test/org/apache/solr/handler/TestUserManagedReplicationWithAuth.java
index 39352913b44..df378434896 100644
---
a/solr/core/src/test/org/apache/solr/handler/TestUserManagedReplicationWithAuth.java
+++
b/solr/core/src/test/org/apache/solr/handler/TestUserManagedReplicationWithAuth.java
@@ -231,8 +231,7 @@ public class TestUserManagedReplicationWithAuth extends
SolrTestCaseJ4 {
ModifiableSolrParams disablePollParams = new ModifiableSolrParams();
disablePollParams.set(COMMAND, CMD_DISABLE_POLL);
disablePollParams.set(CommonParams.WT, JAVABIN);
- disablePollParams.set(CommonParams.QT, ReplicationHandler.PATH);
- QueryRequest req = new QueryRequest(disablePollParams);
+ QueryRequest req = new QueryRequest(ReplicationHandler.PATH,
disablePollParams);
withBasicAuth(req);
final var baseUrl = buildUrl(Jetty.getLocalPort());
@@ -252,14 +251,13 @@ public class TestUserManagedReplicationWithAuth extends
SolrTestCaseJ4 {
ModifiableSolrParams solrParams = new ModifiableSolrParams();
solrParams.set(COMMAND, CMD_FETCH_INDEX);
solrParams.set(CommonParams.WT, JAVABIN);
- solrParams.set(CommonParams.QT, ReplicationHandler.PATH);
solrParams.set("leaderUrl", srcUrl);
solrParams.set("wait", "true");
if (authEnabled) {
solrParams.set("httpBasicAuthUser", user);
solrParams.set("httpBasicAuthPassword", pass);
}
- QueryRequest req = new QueryRequest(solrParams);
+ QueryRequest req = new QueryRequest(ReplicationHandler.PATH, solrParams);
return req;
}
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerDistribTest.java
b/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerDistribTest.java
index b727114572f..27d9f19ba9d 100644
---
a/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerDistribTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerDistribTest.java
@@ -46,7 +46,6 @@ public class LukeRequestHandlerDistribTest extends
BaseDistributedSearchTestCase
private LukeResponse requestLuke(ModifiableSolrParams extra) throws
Exception {
ModifiableSolrParams params = new ModifiableSolrParams();
- params.set("qt", "/admin/luke");
params.set("numTerms", "0");
params.set("shards.info", "true");
params.add(extra);
@@ -61,7 +60,7 @@ public class LukeRequestHandlerDistribTest extends
BaseDistributedSearchTestCase
handle.put(LukeRequestHandler.KEY_DISTINCT, SKIP);
handle.put(LukeRequestHandler.KEY_TOP_TERMS, SKIP);
handle.put(LukeRequestHandler.KEY_HISTOGRAM, SKIP);
- QueryResponse qr = query(params);
+ QueryResponse qr = query("/admin/luke", params);
LukeResponse rsp = new LukeResponse();
rsp.setResponse(qr.getResponse());
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
index cb8eee206c8..9145b7cf013 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
@@ -46,7 +46,7 @@ public class DistributedMLTComponentTest extends
BaseDistributedSearchTestCase {
@Override
public void distribSetUp() throws Exception {
- requestHandlerName = "mltrh";
+ requestHandlerName = "/mltrh";
super.distribSetUp();
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/SearchHandlerAppendsCloudTest.java
b/solr/core/src/test/org/apache/solr/handler/component/SearchHandlerAppendsCloudTest.java
index 844daec2cba..6fee1a280c6 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/SearchHandlerAppendsCloudTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/SearchHandlerAppendsCloudTest.java
@@ -130,9 +130,7 @@ public class SearchHandlerAppendsCloudTest extends
SolrCloudTestCase {
// compose the query
final SolrQuery solrQuery = new SolrQuery(bee_t + ":bee");
- if (searchHandlerNames[ii] != null) {
- solrQuery.setParam(CommonParams.QT, searchHandlerNames[ii]);
- }
+ final String path = searchHandlerNames[ii] != null ?
searchHandlerNames[ii] : "/select";
if (searchHandlerNames[jj] != null) {
solrQuery.setParam(ShardParams.SHARDS_QT,
searchHandlerNames[jj]);
}
@@ -144,7 +142,7 @@ public class SearchHandlerAppendsCloudTest extends
SolrCloudTestCase {
// make the query
final QueryResponse queryResponse =
- new QueryRequest(solrQuery).process(cluster.getSolrClient(),
COLLECTION);
+ new QueryRequest(path,
solrQuery).process(cluster.getSolrClient(), COLLECTION);
// analyse the response
final StringBuilder contextInfo = new StringBuilder();
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
b/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
index 350bcb81356..0389ed1b189 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
@@ -131,7 +131,7 @@ public class TermVectorComponentDistributedTest extends
BaseDistributedSearchTes
commit();
- final String tv = "tvrh";
+ final String tv = "/tvrh";
for (String q : new String[] {"id:0", "id:7", "id:[3 TO 6]", "*:*"}) {
query(
diff --git a/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTest.java
b/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTest.java
index d8ce050dc07..f833ea8d638 100644
--- a/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTest.java
@@ -126,7 +126,7 @@ public class TaggerTest extends TaggerTestCase {
String doc = "london business school"; // just one tag
SolrQueryRequest req =
reqDoc(doc, "indent", "on", "omitHeader", "on", "matchText", "" +
matchText);
- String rspStr = h.query(req);
+ String rspStr = h.query(HANDLER, req);
req.close();
return rspStr;
}
@@ -320,7 +320,7 @@ public class TaggerTest extends TaggerTestCase {
// SOLR-14396: Ensure tagger handler doesn't fail on empty collections
SolrQueryRequest req =
reqDoc("anything", "indent", "on", "omitHeader", "on", "matchText",
"false");
- String rspStr = h.query(req);
+ String rspStr = h.query(HANDLER, req);
req.close();
String expected =
diff --git
a/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
b/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
index 5caa906369e..c7eaaa2be00 100644
--- a/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
+++ b/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
@@ -70,6 +70,8 @@ public abstract class TaggerTestCase extends SolrTestCaseJ4 {
protected final ModifiableSolrParams baseParams = new ModifiableSolrParams();
+ protected static final String HANDLER = "/tag";
+
// populated in buildNames; tested in assertTags
protected static List<String> NAMES;
@@ -77,7 +79,6 @@ public abstract class TaggerTestCase extends SolrTestCaseJ4 {
public void setUp() throws Exception {
super.setUp();
baseParams.clear();
- baseParams.set(CommonParams.QT, "/tag");
baseParams.set(CommonParams.WT, "xml");
}
@@ -121,7 +122,7 @@ public abstract class TaggerTestCase extends SolrTestCaseJ4
{
/** Asserts the tags. Will call req.close(). */
protected void assertTags(SolrQueryRequest req, TestTag... eTags) throws
Exception {
try {
- SolrQueryResponse rsp =
h.queryAndResponse(req.getParams().get(CommonParams.QT), req);
+ SolrQueryResponse rsp = h.queryAndResponse(HANDLER, req);
TestTag[] aTags = pullTagsFromResponse(req, rsp);
String message;
diff --git
a/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
b/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
index 0e4a8c383c5..586f16adff7 100644
---
a/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
@@ -102,7 +102,7 @@ public class XmlInterpolationTest extends TaggerTestCase {
protected void assertXmlTag(String docText, boolean expected) throws
Exception {
try (SolrQueryRequest req = reqDoc(docText)) {
- final SolrQueryResponse rsp =
h.queryAndResponse(req.getParams().get("qt"), req);
+ final SolrQueryResponse rsp = h.queryAndResponse(HANDLER, req);
final TestTag[] testTags = pullTagsFromResponse(req, rsp);
if (!expected) {
assertEquals(0, testTags.length);
diff --git
a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
index 0b561c90c45..382ed633370 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
@@ -363,7 +363,6 @@ public class SpellCheckCollatorTest extends SolrTestCaseJ4 {
assertNotNull("speller is null and it shouldn't be", speller);
ModifiableSolrParams params = new ModifiableSolrParams();
- params.add(CommonParams.QT, "spellCheckCompRH");
params.add(CommonParams.Q, "lowerfilt:(+fauth +home +loane)");
params.add(SpellingParams.SPELLCHECK_EXTENDED_RESULTS, "true");
params.add(SpellCheckComponent.COMPONENT_NAME, "true");
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
index adf572c2902..c791c7fe7eb 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.client.solrj;
+import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET;
import static org.apache.solr.common.params.UpdateParams.ASSUME_CONTENT_TYPE;
import static org.apache.solr.common.util.Utils.fromJSONString;
import static org.apache.solr.core.CoreContainer.ALLOW_PATHS_SYSPROP;
@@ -57,6 +58,7 @@ import
org.apache.solr.client.solrj.request.MultiContentWriterRequest;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.request.StreamingUpdateRequest;
+import org.apache.solr.client.solrj.request.SystemInfoRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.FieldStatsInfo;
@@ -439,9 +441,8 @@ public abstract class SolrExampleTests extends
SolrExampleTestsBase {
String url = solrTestRule.getBaseUrl();
try (SolrClient adminClient = getHttpSolrClient(url)) {
SolrQuery q = new SolrQuery();
- q.set("qt", CommonParams.SYSTEM_INFO_PATH);
- QueryResponse rsp = adminClient.query(q);
+ final var rsp = new SystemInfoRequest().process(adminClient);
assertNotNull(rsp.getResponse().get("mode"));
assertNotNull(rsp.getResponse().get("lucene"));
}
@@ -698,11 +699,11 @@ public abstract class SolrExampleTests extends
SolrExampleTestsBase {
public void testErrorHandling() throws Exception {
SolrClient client = getSolrClient();
- SolrQuery query = new SolrQuery();
- query.set(CommonParams.QT, "/analysis/field");
- query.set(AnalysisParams.FIELD_TYPE, "pint");
- query.set(AnalysisParams.FIELD_VALUE, "ignore_exception");
- SolrException ex = expectThrows(SolrException.class, () ->
client.query(query));
+ final var params =
+ params(AnalysisParams.FIELD_TYPE, "pint", AnalysisParams.FIELD_VALUE,
"ignore_exception");
+ final var req = new GenericSolrRequest(GET, "/analysis/field", params);
+ req.setRequiresCollection(true);
+ SolrException ex = expectThrows(SolrException.class, () ->
req.process(client));
assertEquals(400, ex.code());
assertThat(ex.getMessage(), containsString("Invalid Number:
ignore_exception"));
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
index a9a7f0ba072..1749d4f1b89 100644
---
a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
+++
b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
@@ -24,7 +24,6 @@ import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.response.SpellCheckResponse.Collation;
import org.apache.solr.client.solrj.response.SpellCheckResponse.Correction;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SpellingParams;
import org.apache.solr.util.EmbeddedSolrServerTestRule;
import org.apache.solr.util.ExternalPaths;
@@ -72,10 +71,9 @@ public class TestSpellCheckResponse extends SolrTestCase {
client.commit(true, true);
SolrQuery query = new SolrQuery("*:*");
- query.set(CommonParams.QT, "/spell");
query.set("spellcheck", true);
query.set(SpellingParams.SPELLCHECK_Q, "samsang");
- QueryRequest request = new QueryRequest(query);
+ QueryRequest request = new QueryRequest("/spell", query);
SpellCheckResponse response =
request.process(client).getSpellCheckResponse();
assertEquals("samsung", response.getFirstSuggestion("samsang"));
}
@@ -91,11 +89,10 @@ public class TestSpellCheckResponse extends SolrTestCase {
client.commit(true, true);
SolrQuery query = new SolrQuery("*:*");
- query.set(CommonParams.QT, "/spell");
query.set("spellcheck", true);
query.set(SpellingParams.SPELLCHECK_Q, "samsang");
query.set(SpellingParams.SPELLCHECK_EXTENDED_RESULTS, true);
- QueryRequest request = new QueryRequest(query);
+ QueryRequest request = new QueryRequest("/spell", query);
SpellCheckResponse response =
request.process(client).getSpellCheckResponse();
assertEquals("samsung", response.getFirstSuggestion("samsang"));
@@ -148,11 +145,10 @@ public class TestSpellCheckResponse extends SolrTestCase {
// Test Backwards Compatibility
SolrQuery query = new SolrQuery("name:(+fauth +home +loane)");
- query.set(CommonParams.QT, "/spell");
query.set("spellcheck", true);
query.set(SpellingParams.SPELLCHECK_COUNT, 10);
query.set(SpellingParams.SPELLCHECK_COLLATE, true);
- QueryRequest request = new QueryRequest(query);
+ QueryRequest request = new QueryRequest("/spell", query);
SpellCheckResponse response =
request.process(client).getSpellCheckResponse();
response = request.process(client).getSpellCheckResponse();
assertEquals("name:(+faith +hope +loaves)", response.getCollatedResult());
@@ -161,7 +157,7 @@ public class TestSpellCheckResponse extends SolrTestCase {
query.set(SpellingParams.SPELLCHECK_COLLATE_EXTENDED_RESULTS, true);
query.set(SpellingParams.SPELLCHECK_MAX_COLLATION_TRIES, 10);
query.set(SpellingParams.SPELLCHECK_MAX_COLLATIONS, 2);
- request = new QueryRequest(query);
+ request = new QueryRequest("/spell", query);
response = request.process(client).getSpellCheckResponse();
assertTrue(
"name:(+faith +hope +love)".equals(response.getCollatedResult())
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
index 713470c4bff..0ed4faf036c 100644
---
a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
+++
b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
@@ -27,7 +27,6 @@ import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.EnvUtils;
import org.apache.solr.util.ExternalPaths;
import org.apache.solr.util.SolrJettyTestRule;
@@ -56,11 +55,10 @@ public class TestSuggesterResponse extends SolrTestCaseJ4 {
try (SolrClient solrClient = createSuggestSolrClient()) {
SolrQuery query = new SolrQuery("*:*");
- query.set(CommonParams.QT, "/suggest");
query.set("suggest.dictionary", "mySuggester");
query.set("suggest.q", "Com");
query.set("suggest.build", true);
- QueryRequest request = new QueryRequest(query);
+ QueryRequest request = new QueryRequest("/suggest", query);
QueryResponse queryResponse = request.process(solrClient);
SuggesterResponse response = queryResponse.getSuggesterResponse();
Map<String, List<Suggestion>> dictionary2suggestions =
response.getSuggestions();
@@ -82,11 +80,10 @@ public class TestSuggesterResponse extends SolrTestCaseJ4 {
try (SolrClient solrClient = createSuggestSolrClient()) {
SolrQuery query = new SolrQuery("*:*");
- query.set(CommonParams.QT, "/suggest");
query.set("suggest.dictionary", "mySuggester");
query.set("suggest.q", "Com");
query.set("suggest.build", true);
- QueryRequest request = new QueryRequest(query);
+ QueryRequest request = new QueryRequest("/suggest", query);
QueryResponse queryResponse = request.process(solrClient);
SuggesterResponse response = queryResponse.getSuggesterResponse();
Map<String, List<String>> dictionary2suggestions =
response.getSuggestedTerms();
@@ -104,11 +101,10 @@ public class TestSuggesterResponse extends SolrTestCaseJ4
{
try (SolrClient solrClient = createSuggestSolrClient()) {
SolrQuery query = new SolrQuery("*:*");
- query.set(CommonParams.QT, "/suggest");
query.set("suggest.dictionary", "mySuggester");
query.set("suggest.q", "Empty");
query.set("suggest.build", true);
- QueryRequest request = new QueryRequest(query);
+ QueryRequest request = new QueryRequest("/suggest", query);
QueryResponse queryResponse = request.process(solrClient);
SuggesterResponse response = queryResponse.getSuggesterResponse();
Map<String, List<String>> dictionary2suggestions =
response.getSuggestedTerms();
diff --git
a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
index ca2c5657de8..2cc6ea7ce5a 100644
---
a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
+++
b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
@@ -51,12 +51,14 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.CollectionUtil;
@@ -598,18 +600,22 @@ public abstract class BaseDistributedSearchTestCase
extends SolrTestCaseJ4 {
}
}
+ protected QueryResponse queryRandomShard(ModifiableSolrParams params)
+ throws SolrServerException, IOException {
+ return queryRandomShard(params.get(CommonParams.QT, "/select"), params);
+ }
+
/**
* Queries a random shard; nothing more.
*
* <p>WARNING: tests should generally not call this as it doesn't compare to
the control client
*/
- protected QueryResponse queryRandomShard(ModifiableSolrParams params)
+ protected QueryResponse queryRandomShard(String requestHandler,
ModifiableSolrParams params)
throws SolrServerException, IOException {
// query a random server
int which = r.nextInt(clients.size());
SolrClient client = clients.get(which);
- QueryResponse rsp = client.query(params);
- return rsp;
+ return new QueryRequest(requestHandler, params).process(client);
}
/** Sets distributed params. Returns the distributed QueryResponse */
@@ -629,13 +635,22 @@ public abstract class BaseDistributedSearchTestCase
extends SolrTestCaseJ4 {
return query(setDistribParams, params);
}
- /** Returns the distributed QueryResponse */
+ protected QueryResponse query(String requestHandler, SolrParams p) throws
Exception {
+ return query(requestHandler, true, p);
+ }
+
protected QueryResponse query(boolean setDistribParams, SolrParams p) throws
Exception {
+ return query(p.get(CommonParams.QT, "/select"), setDistribParams, p);
+ }
+
+ /** Returns the distributed QueryResponse */
+ protected QueryResponse query(String requestHandler, boolean
setDistribParams, SolrParams p)
+ throws Exception {
if (p.get("distrib") != null) {
throw new IllegalArgumentException("don't pass distrib param");
}
- final QueryResponse controlRsp = controlClient.query(p);
+ final QueryResponse controlRsp = new QueryRequest(requestHandler,
p).process(controlClient);
validateControlData(controlRsp);
if (shardCount == 0) { // mostly for temp debugging
@@ -645,7 +660,7 @@ public abstract class BaseDistributedSearchTestCase extends
SolrTestCaseJ4 {
final ModifiableSolrParams params = new ModifiableSolrParams(p);
if (setDistribParams) setDistributedParams(params);
- QueryResponse rsp = queryRandomShard(params);
+ QueryResponse rsp = queryRandomShard(requestHandler, params);
compareResponses(rsp, controlRsp);
@@ -660,7 +675,9 @@ public abstract class BaseDistributedSearchTestCase extends
SolrTestCaseJ4 {
int which = r.nextInt(clients.size());
SolrClient client = clients.get(which);
try {
- QueryResponse rsp1 = client.query(new
ModifiableSolrParams(params));
+ QueryResponse rsp1 =
+ new QueryRequest(requestHandler, new
ModifiableSolrParams(params))
+ .process(client);
if (verifyStress) {
compareResponses(rsp1, controlRsp);
}
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index 73ce681aad7..9665aac95b6 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -848,6 +848,15 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
/** Validates a query matches some XPath test expressions and closes the
query */
public static void assertQ(String message, SolrQueryRequest req, String...
tests) {
+ assertQ(message, req.getParams().get(CommonParams.QT), req, tests);
+ }
+
+ /**
+ * Validates a query against the named handler matches some XPath test
expressions and closes the
+ * query
+ */
+ public static void assertQ(
+ String message, String handler, SolrQueryRequest req, String... tests) {
try {
String m = (null == message) ? "" : message + " "; // TODO log 'm' !!!
// since the default (standard) response format is now JSON
@@ -857,7 +866,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
// for tests, let's turn indention off so we don't have to handle
extraneous spaces
xmlWriterTypeParams.set("indent", xmlWriterTypeParams.get("indent",
"off"));
req.setParams(xmlWriterTypeParams);
- String response = h.query(req);
+ String response = h.query(handler, req);
if (req.getParams().getBool("facet", false)) {
// add a test to ensure that faceting did not throw an exception
diff --git
a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
index ae0b250a3d5..20ca8279083 100644
---
a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
+++
b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
@@ -64,6 +64,7 @@ import org.apache.solr.client.solrj.jetty.HttpJettySolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.request.GenericSolrRequest;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
@@ -2076,12 +2077,12 @@ public abstract class AbstractFullDistribZkTestBase
extends BaseDistributedSearc
}
@Override
- protected QueryResponse queryRandomShard(ModifiableSolrParams params)
+ protected QueryResponse queryRandomShard(String requestHandler,
ModifiableSolrParams params)
throws SolrServerException, IOException {
if (r.nextBoolean()) params.set("collection", DEFAULT_COLLECTION);
- return cloudClient.query(params);
+ return new QueryRequest(requestHandler, params).process(cloudClient);
}
abstract static class StoppableThread extends Thread {