use of org.apache.solr.client.solrj.request.QueryRequest in project lucene-solr by apache.
the class TestCollectionAPI method clusterStatusRolesTest.
private void clusterStatusRolesTest() throws Exception {
try (CloudSolrClient client = createCloudClient(null)) {
client.connect();
Replica replica = client.getZkStateReader().getLeaderRetry(DEFAULT_COLLECTION, SHARD1);
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("action", CollectionParams.CollectionAction.ADDROLE.toString());
params.set("node", replica.getNodeName());
params.set("role", "overseer");
SolrRequest request = new QueryRequest(params);
request.setPath("/admin/collections");
client.request(request);
params = new ModifiableSolrParams();
params.set("action", CollectionParams.CollectionAction.CLUSTERSTATUS.toString());
params.set("collection", DEFAULT_COLLECTION);
request = new QueryRequest(params);
request.setPath("/admin/collections");
NamedList<Object> rsp = client.request(request);
NamedList<Object> cluster = (NamedList<Object>) rsp.get("cluster");
assertNotNull("Cluster state should not be null", cluster);
Map<String, Object> roles = (Map<String, Object>) cluster.get("roles");
assertNotNull("Role information should not be null", roles);
List<String> overseer = (List<String>) roles.get("overseer");
assertNotNull(overseer);
assertEquals(1, overseer.size());
assertTrue(overseer.contains(replica.getNodeName()));
}
}
use of org.apache.solr.client.solrj.request.QueryRequest in project lucene-solr by apache.
the class TestCloudJSONFacetJoinDomain method assertFacetCountsAreCorrect.
/**
* Given a set of (potentially nested) term facets, and a base query string, asserts that
* the actual counts returned when executing that query with those facets match the expected results
* of filtering on the equivilent facet terms+domain
*/
private void assertFacetCountsAreCorrect(Map<String, TermFacet> expected, final String query) throws SolrServerException, IOException {
final SolrParams baseParams = params("q", query, "rows", "0");
final SolrParams facetParams = params("json.facet", "" + TermFacet.toJSONFacetParamValue(expected));
final SolrParams initParams = SolrParams.wrapAppended(facetParams, baseParams);
log.info("Doing full run: {}", initParams);
NamedList topResponse = null;
try {
topResponse = getRandClient(random()).request(new QueryRequest(initParams));
assertNotNull(initParams + " is null response?", topResponse);
} catch (Exception e) {
throw new RuntimeException("init query failed: " + initParams + ": " + e.getMessage(), e);
}
try {
final NamedList facetResponse = (NamedList) topResponse.get("facets");
assertNotNull("null facet results?", facetResponse);
assertFacetCountsAreCorrect(expected, baseParams, facetResponse);
} catch (AssertionError e) {
throw new AssertionError(initParams + " ===> " + topResponse + " --> " + e.getMessage(), e);
} finally {
log.info("Ending full run");
}
}
use of org.apache.solr.client.solrj.request.QueryRequest in project lucene-solr by apache.
the class TestCloudJSONFacetJoinDomain method testMalformedGivesError.
/** Sanity check that malformed requests produce errors */
public void testMalformedGivesError() throws Exception {
ignoreException(".*'join' domain change.*");
for (String join : Arrays.asList("bogus", "{ }", "{ from:null, to:foo_s }", "{ from:foo_s }", "{ from:foo_s, to:foo_s, bogus:'what what?' }", "{ to:foo_s, bogus:'what what?' }")) {
SolrException e = expectThrows(SolrException.class, () -> {
final SolrParams req = params("q", "*:*", "json.facet", "{ x : { type:terms, field:x_s, domain: { join:" + join + " } } }");
final NamedList trash = getRandClient(random()).request(new QueryRequest(req));
});
assertEquals(join + " -> " + e, SolrException.ErrorCode.BAD_REQUEST.code, e.code());
assertTrue(join + " -> " + e, e.getMessage().contains("'join' domain change"));
}
}
use of org.apache.solr.client.solrj.request.QueryRequest in project lucene-solr by apache.
the class BaseCdcrDistributedZkTest method deleteCollection.
/**
* Delete a collection through the Collection API.
*/
protected CollectionAdminResponse deleteCollection(String collectionName) throws Exception {
SolrClient client = createCloudClient(null);
CollectionAdminResponse res;
try {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("action", CollectionParams.CollectionAction.DELETE.toString());
params.set("name", collectionName);
QueryRequest request = new QueryRequest(params);
request.setPath("/admin/collections");
res = new CollectionAdminResponse();
res.setResponse(client.request(request));
} catch (Exception e) {
log.warn("Error while deleting the collection " + collectionName, e);
return new CollectionAdminResponse();
} finally {
client.close();
}
return res;
}
use of org.apache.solr.client.solrj.request.QueryRequest in project lucene-solr by apache.
the class BaseCdcrDistributedZkTest method invokeCdcrAction.
/**
* Invokes a CDCR action on a given node.
*/
protected NamedList invokeCdcrAction(CloudJettyRunner jetty, CdcrParams.CdcrAction action) throws Exception {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(CommonParams.ACTION, action.toString());
SolrRequest request = new QueryRequest(params);
request.setPath(CDCR_PATH);
return jetty.client.request(request);
}
Aggregations