Ich bin mit dem folgenden Testcode auf SolrCloud Solrj Bibliothek:SolrJ - NPE wenn zu SolrCloud Zugriff
public static void main(String[] args) {
String zkHostString = "192.168.56.99:2181";
SolrClient solr = new CloudSolrClient.Builder().withZkHost(zkHostString).build();
List<MyBean> beans = new ArrayList<>();
for(int i = 0; i < 10000 ; i++) {
// creating a bunch of MyBean to be indexed
// and temporarily storing them in a List
// no Solr operations performed here
}
System.out.println("Adding...");
try {
solr.addBeans("myCollection", beans);
} catch (IOException | SolrServerException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Committing...");
try {
solr.commit("myCollection");
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Dieser Code schlägt fehl aufgrund der folgenden Ausnahme
Exception in thread "main" java.lang.NullPointerException
at org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:1175)
at org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:1057)
at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:160)
at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:106)
at org.apache.solr.client.solrj.SolrClient.addBeans(SolrClient.java:357)
at org.apache.solr.client.solrj.SolrClient.addBeans(SolrClient.java:312)
at com.togather.solr.testing.SolrIndexingTest.main(SolrIndexingTest.java:83)
Dies ist die vollständige Stacktrace der Ausnahme. Ich habe gerade von einer Solr-Standalone-Installation auf eine SolrCloud "aufgerüstet" (mit einer externen Instanz von Zookeeper, nicht der eingebetteten). Bei standalone Solr wurde der gleiche Code (mit nur wenigen Unterschieden, wie der Host-URL) verwendet, um perfekt zu funktionieren.
Die NPE schickt mich in die SolrJ-Bibliothek, die ich nicht kenne.
Jeder kann mir helfen zu verstehen, woher das Problem stammt und wie ich es überwinden kann? Aufgrund meiner Unerfahrenheit und der Kürze der Fehlermeldung kann ich nicht herausfinden, wo ich anfangen soll.
Welche Version von SolrJ verwenden Sie? – freedev
@freedev neuesten stabilen, 6.5.1 –