Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.5, 7.0
-
None
Description
The CloudSolrClient raises a NullPointerException when CloudSolrClient::add is invoked and pointed to an alias which references a collection which does not exist anymore.
java.lang.NullPointerException at __randomizedtesting.SeedInfo.seed([1D00539A964E5C5D:D7D145363AD5CCA]:0) at org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:1078) at org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:1042) 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.add(SolrClient.java:71) at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:85)
This is a rather unexpected since the CloudSolrClient usually raises a SolrException containing a descriptive error message (e.g. "Collection not found: xyz") when a collection cannot be resolved.
In general this error condition could be triggered also by other edge cases since CloudSolrClient::getDocCollection might return null but the code following that invocation is not guarded against null values.
// track the version of state we're using on the client side using the _stateVer_ param DocCollection coll = getDocCollection(requestedCollection, null); int collVer = coll.getZNodeVersion();
Attachments
Issue Links
- links to