Hello all, I'd like to get a stream of search results using the solrj.io package but running into a small issue. It seems to have something to do with the HttpClientUtil. I'm testing on SolrCloud 7.1.0, using the sample_techproducts_configs configs, and indexed the manufacturers.xml file.
I'm following the test code in the method `testCloudSolrStreamWithZkHost` found in StreamExpressionTest.java: ``` package ca.ryac.testing; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.solr.client.solrj.io.SolrClientCache; import org.apache.solr.client.solrj.io.Tuple; import org.apache.solr.client.solrj.io.stream.CloudSolrStream; import org.apache.solr.client.solrj.io.stream.StreamContext; import org.apache.solr.client.solrj.io.stream.TupleStream; import org.apache.solr.client.solrj.io.stream.expr.StreamExpression; import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParser; import org.apache.solr.client.solrj.io.stream.expr.StreamFactory; public class SolrStreamingClient { String zkHost = "localhost:9983"; String COLLECTIONORALIAS = "gettingstarted"; public SolrStreamingClient() throws Exception { init(); } public static void main(String[] args) throws Exception { new SolrStreamingClient(); } private void init() throws Exception { System.out.println(zkHost); StreamFactory factory = new StreamFactory(); StreamExpression expression; CloudSolrStream stream; List<Tuple> tuples; StreamContext streamContext = new StreamContext(); SolrClientCache solrClientCache = new SolrClientCache(); streamContext.setSolrClientCache(solrClientCache); // basic test.. String expr = "search(" + COLLECTIONORALIAS + ", zkHost=\"" + zkHost + "\", q=*:*, fl=\"id,compName_s\", sort=\"compName_s asc\")"; System.out.println(expr); expression = StreamExpressionParser.parse(expr); stream = new CloudSolrStream(expression, factory); stream.setStreamContext(streamContext); tuples = getTuples(stream); System.out.println(tuples.size()); } protected List<Tuple> getTuples(TupleStream tupleStream) throws IOException { List<Tuple> tuples = new ArrayList<Tuple>(); try { System.out.println("open stream.."); tupleStream.open(); for (Tuple t = tupleStream.read(); !t.EOF; t = tupleStream.read()) { tuples.add(t); } } finally { tupleStream.close(); } return tuples; } } ``` And this is the output I get: --- localhost:9983 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. search(gettingstarted, zkHost="localhost:9983", q=*:*, fl="id,compName_s", sort="compName_s asc") open stream.. Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.impl.client.HttpClientBuilder.evictIdleConnections(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/client/HttpClientBuilder; at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:279) at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:298) at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:236) at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:223) at org.apache.solr.client.solrj.impl.CloudSolrClient.<init>(CloudSolrClient.java:276) at org.apache.solr.client.solrj.impl.CloudSolrClient$Builder.build(CloudSolrClient.java:1525) at org.apache.solr.client.solrj.io.SolrClientCache.getCloudSolrClient(SolrClientCache.java:62) at org.apache.solr.client.solrj.io.stream.TupleStream.getShards(TupleStream.java:138) at org.apache.solr.client.solrj.io.stream.CloudSolrStream.constructStreams(CloudSolrStream.java:368) at org.apache.solr.client.solrj.io.stream.CloudSolrStream.open(CloudSolrStream.java:274) at ca.ryac.testing.SolrStreamingClient.getTuples(SolrStreamingClient.java:61) at ca.ryac.testing.SolrStreamingClient.init(SolrStreamingClient.java:51) at ca.ryac.testing.SolrStreamingClient.<init>(SolrStreamingClient.java:22) at ca.ryac.testing.SolrStreamingClient.main(SolrStreamingClient.java:26) --- It's not finding or connecting to my SolrCloud instance, I can put *anything* in zkHost and get the same results. Not really sure why it can't find or connect to it. Any thoughts or ideas? Thank you, Ryan