Description
When create a CloudSolrClient with solrUrls, if the first url in the solrUrls list is invalid or server is down, it will throw exception directly rather than try remaining url.
In https://github.com/apache/lucene-solr/blob/branch_7_7/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClusterStateProvider.java#L65, if fetchLiveNodes(initialClient) have any IOException, in https://github.com/apache/lucene-solr/blob/branch_7_7/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java#L648, exceptions will be caught and throw SolrServerException to the upper caller, while no IOExceptioin will be caught in HttpClusterStateProvider.fetchLiveNodes(HttpClusterStateProvider.java:200).
The SolrServerException should be caught as well in https://github.com/apache/lucene-solr/blob/branch_7_7/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClusterStateProvider.java#L69, so that if first node provided in solrUrs down, we can try to use the second to fetch live nodes.
Attachments
Attachments
Issue Links
- links to