[ https://issues.apache.org/jira/browse/SOLR-14700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christine Poerschke resolved SOLR-14700. ---------------------------------------- Fix Version/s: 8.7 master (9.0) Resolution: Fixed > CloudSolrClient cannot be used without setting an explicit streamContext > ------------------------------------------------------------------------ > > Key: SOLR-14700 > URL: https://issues.apache.org/jira/browse/SOLR-14700 > Project: Solr > Issue Type: Bug > Components: clients - java > Affects Versions: 8.6 > Reporter: Mads Bondo Dydensborg > Priority: Minor > Fix For: master (9.0), 8.7 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > A naive approach to using CloudSolrClient, such as on this page: > [http://joelsolr.blogspot.com/2015/04/the-streaming-api-solrjio-basics.html] > - will not work: opening the stream will throw an IOException with an > embedded NullPointerException. > This took me a while to figure out, and I think it would be good to either > update the documentation or "fix" the constructor to set the needed > streamContext as appropriate. > I found this snippet of code in TuppleStream.java, that seems to "almost" > work without a streamContext: > {code:java} > // line 127 in the sources to TuppleStream.java: > public static List<String> getShards(String zkHost, > String collection, > StreamContext streamContext, > SolrParams requestParams) > ... > // line 135 > if(streamContext != null) { > shardsMap = (Map<String, List<String>>)streamContext.get("shards"); > } > ... > // line 144 > CloudSolrClient cloudSolrClient = > > Optional.ofNullable(streamContext.getSolrClientCache()).orElseGet(SolrClientCache::new).getCloudSolrClient(zkHost); > {code} > if streamContext is null in the last statement, a NullPointerException will > be thrown and open'ening the stream will fail. > This took me way too long time to figure out. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org